llvm-project/clang/lib/AST
Richard Smith 1e8c0850b1 For now, disallow lifetime-extended temporaries with non-trivial (but
constexpr) destructors from being used in the values of constexpr
variables.

The standard rules here are unclear at best, so rejecting the
problematic cases seems prudent. Prior to this change, we would fail to
run the destructors for these temporaries, even if they had
side-effects, which is certainly not the right behavior.

llvm-svn: 373161
2019-09-29 06:22:54 +00:00
..
Interp For P0784R7: compute whether a variable has constant destruction if it 2019-09-29 05:08:46 +00:00
APValue.cpp For P0784R7: Add support for dynamic allocation with new / delete during 2019-09-27 01:26:47 +00:00
ASTConsumer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ASTContext.cpp For P0784R7: compute whether a variable has constant destruction if it 2019-09-29 05:08:46 +00:00
ASTDiagnostic.cpp Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
ASTDumper.cpp When dumping the AST to JSON, dump the type information from a typeid expression with a type operand. 2019-05-27 14:34:31 +00:00
ASTImporter.cpp For P0784R7: add support for constexpr destructors, and call them as 2019-09-23 03:48:44 +00:00
ASTImporterLookupTable.cpp [ASTImporter] Fix unhandled cases in ASTImporterLookupTable 2019-06-11 13:35:25 +00:00
ASTStructuralEquivalence.cpp [AST] AST structural equivalence to work internally with pairs. 2019-09-02 11:01:09 +00:00
ASTTypeTraits.cpp [OPENMP]Use standard parsing for 'match' clause, NFC. 2019-09-23 18:13:31 +00:00
AttrImpl.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [Clang Interpreter] Initial patch for the constexpr interpreter 2019-09-13 09:46:16 +00:00
CXXABI.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CXXInheritance.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
Comment.cpp [clang] Ensure that comment classes are trivially destructible 2019-08-27 11:21:00 +00:00
CommentBriefParser.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CommentCommandTraits.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CommentLexer.cpp [AST] CommentLexer - Remove (optional) Invalid parameter from getSpelling. 2019-09-18 12:11:16 +00:00
CommentParser.cpp Adds a warning when an inline Doxygen comment has no argument 2019-08-05 08:05:16 +00:00
CommentSema.cpp [Wdocumentation] fixes an assertion failure with typedefed function and block pointer 2019-09-02 18:24:33 +00:00
ComparisonCategories.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DataCollection.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Decl.cpp For P0784R7: compute whether a variable has constant destruction if it 2019-09-29 05:08:46 +00:00
DeclBase.cpp [Alignment] Move OffsetToAlignment to Alignment.h 2019-09-12 15:20:36 +00:00
DeclCXX.cpp For P0784R7: add support for constexpr destructors, and call them as 2019-09-23 03:48:44 +00:00
DeclFriend.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclGroup.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclObjC.cpp Use llvm::stable_sort 2019-04-24 14:43:05 +00:00
DeclOpenMP.cpp [OPENMP 5.0]Initial support for 'allocator' clause. 2019-03-12 18:52:33 +00:00
DeclPrinter.cpp Support for DWARF-5 C++ language tags. 2019-09-24 00:38:49 +00:00
DeclTemplate.cpp [Concepts] Concept definitions (D40381) 2019-07-10 21:25:49 +00:00
DeclarationName.cpp Use getOperatorSpelling to get the spelling of an overloaded operator 2019-06-14 20:01:51 +00:00
Expr.cpp Fix bad APInt compare. 2019-09-21 04:18:54 +00:00
ExprCXX.cpp For P0784R7: Add support for dynamic allocation with new / delete during 2019-09-27 01:26:47 +00:00
ExprClassification.cpp [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
ExprConstant.cpp For now, disallow lifetime-extended temporaries with non-trivial (but 2019-09-29 06:22:54 +00:00
ExprObjC.cpp [AST][NFC] Add const children() accessors to all AST nodes 2019-04-12 15:36:02 +00:00
ExternalASTMerger.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
ExternalASTSource.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FormatString.cpp [Sema] Suppress -Wformat diagnostics for bool types when printed using %hhd 2019-09-18 19:05:14 +00:00
FormatStringParsing.h Add a missing header comment, NFC 2019-08-13 22:01:39 +00:00
InheritViz.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ItaniumCXXABI.cpp [c++20] Fix some ambiguities in our mangling of lambdas with explicit 2019-09-05 01:23:47 +00:00
ItaniumMangle.cpp Fix crash mangling an explicit lambda non-type template parameter pack 2019-09-10 00:39:53 +00:00
JSONNodeDumper.cpp Support for DWARF-5 C++ language tags. 2019-09-24 00:38:49 +00:00
Linkage.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mangle.cpp [Mangle] Add flag to asm labels to disable '\01' prefixing 2019-09-25 18:00:31 +00:00
MicrosoftCXXABI.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
MicrosoftMangle.cpp Add SpellingNotCalculated to Attribute Enums to suppress UBSan warnings 2019-09-17 14:11:51 +00:00
NSAPI.cpp Removed dead code from clang/AST/NSAPI.h 2019-08-29 06:30:12 +00:00
NestedNameSpecifier.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ODRHash.cpp [ODRHash] Fix null pointer dereference for ObjC selectors with empty slots. 2019-06-28 17:42:17 +00:00
OSLog.cpp os_log: Allow specifying mask type in format string. 2018-11-06 07:05:14 +00:00
OpenMPClause.cpp [OPENMP]Use standard parsing for 'match' clause, NFC. 2019-09-23 18:13:31 +00:00
ParentMap.cpp [OPENMP]Fix PR42632: crash on the analysis of the OpenMP constructs. 2019-07-17 18:03:39 +00:00
PrintfFormatString.cpp [Sema][ObjC] Fix a -Wformat false positive with localizedStringForKey 2019-08-14 16:57:11 +00:00
QualTypeNames.cpp Make getFullyQualifiedName qualify both the pointee and class type for member ptr types 2019-03-15 11:09:41 +00:00
RawCommentList.cpp [clang] Refactor doc comments to Decls attribution 2019-08-13 18:11:44 +00:00
RecordLayout.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RecordLayoutBuilder.cpp P0840R2: support for [[no_unique_address]] attribute 2019-06-20 20:44:45 +00:00
ScanfFormatString.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SelectorLocationsKind.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Stmt.cpp [clang] Ensure that statements, expressions and types are trivially destructible 2019-08-27 11:35:49 +00:00
StmtCXX.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StmtIterator.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StmtObjC.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StmtOpenMP.cpp [OPENMP]Support for non-rectangular loops. 2019-08-14 19:30:06 +00:00
StmtPrinter.cpp [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
StmtProfile.cpp [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
StmtViz.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TemplateBase.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TemplateName.cpp [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
TextNodeDumper.cpp For P0784R7: compute whether a variable has constant destruction if it 2019-09-29 05:08:46 +00:00
Type.cpp For P0784R7: add support for new (std::nothrow). 2019-09-27 01:26:49 +00:00
TypeLoc.cpp Add SVE opaque built-in types 2019-08-09 08:52:54 +00:00
TypePrinter.cpp [Clang] Fix pretty printing of CUDA address spaces 2019-06-05 17:29:00 +00:00
VTTBuilder.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
VTableBuilder.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00