llvm-project/clang/lib/AST
Nandor Licker 950b70dcc7 [Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.

Reviewers: Bigcheese, jfb, rsmith

Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64146

llvm-svn: 371834
2019-09-13 09:46:16 +00:00
..
Interp [Clang Interpreter] Initial patch for the constexpr interpreter 2019-09-13 09:46:16 +00:00
APValue.cpp [clang] Add storage for APValue in ConstantExpr 2019-06-15 10:24: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 [Clang Interpreter] Initial patch for the constexpr interpreter 2019-09-13 09:46:16 +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 [Clang][ASTImporter] Added visibility check for FunctionTemplateDecl. 2019-09-13 08:03:49 +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 [OPENMP5.0]Add support for device_type clause in declare target 2019-08-23 16:11:14 +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 Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 [Clang][CodeGen] support alias attribute w/ gnu_inline 2019-09-12 19:53:35 +00:00
DeclBase.cpp [Alignment] Move OffsetToAlignment to Alignment.h 2019-09-12 15:20:36 +00:00
DeclCXX.cpp [clang] Devirtualization for classes with destructors marked as 'final' 2019-08-31 18:52: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 [Concepts] Concept definitions (D40381) 2019-07-10 21:25: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 Revert "Fix crash on switch conditions of non-integer types in templates" 2019-08-13 19:07:28 +00:00
ExprCXX.cpp [OpenCL] Improve destructor support in C++ for OpenCL 2019-07-22 09:39:13 +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 [Clang Interpreter] Initial patch for the constexpr interpreter 2019-09-13 09:46:16 +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] Don't warn on printf('%hd', [char]) (PR41467) 2019-08-23 18:01:57 +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 Generate parent context id from Decl* instead of DeclContext*. 2019-09-04 20:30:00 +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 [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
MicrosoftCXXABI.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
MicrosoftMangle.cpp Implement Microsoft-compatible mangling for decomposition declarations. 2019-09-05 21:08:50 +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 [OPENMP5.0]Add support for device_type clause in declare target 2019-08-23 16:11:14 +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 [ASTDump] Add is_anonymous to VisitCXXRecordDecl 2019-08-12 17:07:49 +00:00
Type.cpp [Sema] Diagnose default-initialization, destruction, and copying of 2019-09-07 00:34:43 +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