Sema: Parenthesized bound destructor member expressions can be called
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 25 Feb 2015 17:36:15 +0000 (17:36 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 25 Feb 2015 17:36:15 +0000 (17:36 +0000)
commitced8bdf74a4f2b67b060588a08af8e7dbb684b36
treebe41948058ac4ea75c795c6f95e146e5ea0f711b
parent6cd04ac9637508e996c12c88241cba18d3725cc3
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
24 files changed:
clang/include/clang/AST/Expr.h
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Sema/Sema.h
clang/lib/AST/Expr.cpp
clang/lib/AST/ExprCXX.cpp
clang/lib/AST/ExprClassification.cpp
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CGClass.cpp
clang/lib/CodeGen/CGExpr.cpp
clang/lib/CodeGen/CGExprAgg.cpp
clang/lib/CodeGen/CGExprComplex.cpp
clang/lib/CodeGen/CGExprScalar.cpp
clang/lib/Parse/ParseExpr.cpp
clang/lib/Parse/ParseExprCXX.cpp
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaExprMember.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaPseudoObject.cpp
clang/lib/Sema/TreeTransform.h
clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
clang/test/SemaCXX/destructor.cpp
clang/test/SemaCXX/pseudo-destructors.cpp