]> granicus.if.org Git - clang/commit
For P0784R7: add support for constexpr destructors, and call them as
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 23 Sep 2019 03:48:44 +0000 (03:48 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 23 Sep 2019 03:48:44 +0000 (03:48 +0000)
commit92b0353a5f6c93169b13f5e3fb4d8ac275c6f9f9
treea6a6bdb6897ad7f1d8a4b0395b44982979077035
parent6671724968d3f38fd19e862d5755809e5e9762ba
For P0784R7: add support for constexpr destructors, and call them as
appropriate during constant evaluation.

Note that the evaluator is sometimes invoked on incomplete expressions.
In such cases, if an object is constructed but we never reach the point
where it would be destroyed (and it has non-trivial destruction), we
treat the expression as having an unmodeled side-effect.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@372538 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/clang/AST/DeclCXX.h
include/clang/Basic/DiagnosticASTKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
lib/AST/ASTImporter.cpp
lib/AST/DeclCXX.cpp
lib/AST/ExprConstant.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/SemaType.cpp
test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
test/CXX/drs/dr2xx.cpp
test/SemaCXX/attr-require-constant-initialization.cpp
test/SemaCXX/constant-expression-cxx2a.cpp
test/SemaCXX/cxx2a-consteval.cpp