diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-02-25 17:36:15 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-02-25 17:36:15 +0000 |
commit | ced8bdf74a4f2b67b060588a08af8e7dbb684b36 (patch) | |
tree | be41948058ac4ea75c795c6f95e146e5ea0f711b /clang/lib/AST/ExprCXX.cpp | |
parent | 6cd04ac9637508e996c12c88241cba18d3725cc3 (diff) | |
download | bcm5719-llvm-ced8bdf74a4f2b67b060588a08af8e7dbb684b36.tar.gz bcm5719-llvm-ced8bdf74a4f2b67b060588a08af8e7dbb684b36.zip |
Sema: Parenthesized bound destructor member expressions can be called
We would wrongfully reject (a.~A)() in both the destructor and
pseudo-destructor cases.
This fixes PR22668.
llvm-svn: 230512
Diffstat (limited to 'clang/lib/AST/ExprCXX.cpp')
-rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index 1f54d24c471..f23b3eb79ce 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/lib/AST/ExprCXX.cpp @@ -238,10 +238,7 @@ CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(const ASTContext &Context, SourceLocation ColonColonLoc, SourceLocation TildeLoc, PseudoDestructorTypeStorage DestroyedType) : Expr(CXXPseudoDestructorExprClass, - Context.getPointerType(Context.getFunctionType( - Context.VoidTy, None, - FunctionProtoType::ExtProtoInfo( - Context.getDefaultCallingConvention(false, true)))), + Context.BoundMemberTy, VK_RValue, OK_Ordinary, /*isTypeDependent=*/(Base->isTypeDependent() || (DestroyedType.getTypeSourceInfo() && |