SuccessChanges

Summary

  1. 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.
Revision 372538 by rsmith:
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.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.h (diff)clang.src/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticASTKinds.td (diff)clang.src/include/clang/Basic/DiagnosticASTKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpp (diff)clang.src/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpp (diff)clang.src/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaType.cpp (diff)clang.src/lib/Sema/SemaType.cpp
The file was modified/cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp (diff)clang.src/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
The file was modified/cfe/trunk/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp (diff)clang.src/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
The file was modified/cfe/trunk/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp (diff)clang.src/test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp
The file was modified/cfe/trunk/test/CXX/drs/dr2xx.cpp (diff)clang.src/test/CXX/drs/dr2xx.cpp
The file was modified/cfe/trunk/test/SemaCXX/attr-require-constant-initialization.cpp (diff)clang.src/test/SemaCXX/attr-require-constant-initialization.cpp
The file was modified/cfe/trunk/test/SemaCXX/constant-expression-cxx2a.cpp (diff)clang.src/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx2a-consteval.cpp (diff)clang.src/test/SemaCXX/cxx2a-consteval.cpp