From e792c429214e794f0c44f9d73b44c899b31a1138 Mon Sep 17 00:00:00 2001 From: Axel Naumann Date: Fri, 26 Sep 2014 16:02:33 +0200 Subject: [PATCH] Handle member fun ptr (ROOT-5467). (cherry picked from commit 20b95e364e969bdbd64a62dc7ae24a170570732e) --- interpreter/cling/lib/Interpreter/ValueExtractionSynthesizer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/interpreter/cling/lib/Interpreter/ValueExtractionSynthesizer.cpp b/interpreter/cling/lib/Interpreter/ValueExtractionSynthesizer.cpp index e90c633..ccf55bb 100644 --- a/interpreter/cling/lib/Interpreter/ValueExtractionSynthesizer.cpp +++ b/interpreter/cling/lib/Interpreter/ValueExtractionSynthesizer.cpp @@ -266,10 +266,12 @@ namespace { Call = m_Sema->CreateBuiltinBinOp(locStart, BO_Comma, Call.get(), E); } - else if (desugaredTy->isRecordType() || desugaredTy->isConstantArrayType()){ + else if (desugaredTy->isRecordType() || desugaredTy->isConstantArrayType() + || desugaredTy->isMemberPointerType()) { // 2) object types : // check existance of copy constructor before call - if (!availableCopyConstructor(desugaredTy, m_Sema)) + if (!desugaredTy->isMemberPointerType() + && !availableCopyConstructor(desugaredTy, m_Sema)) return E; // call new (setValueWithAlloc(gCling, &SVR, ETy)) (E) Call = m_Sema->ActOnCallExpr(/*Scope*/0, m_UnresolvedWithAlloc, -- 1.8.2