[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: 370531
Showing
- clang/docs/ConstantInterpreter.rst 194 additions, 0 deletionsclang/docs/ConstantInterpreter.rst
- clang/docs/index.rst 1 addition, 0 deletionsclang/docs/index.rst
- clang/include/clang/AST/ASTContext.h 10 additions, 0 deletionsclang/include/clang/AST/ASTContext.h
- clang/include/clang/Basic/DiagnosticASTKinds.td 2 additions, 0 deletionsclang/include/clang/Basic/DiagnosticASTKinds.td
- clang/include/clang/Basic/LangOptions.def 4 additions, 0 deletionsclang/include/clang/Basic/LangOptions.def
- clang/include/clang/Basic/OptionalDiagnostic.h 78 additions, 0 deletionsclang/include/clang/Basic/OptionalDiagnostic.h
- clang/include/clang/Driver/Options.td 4 additions, 0 deletionsclang/include/clang/Driver/Options.td
- clang/lib/AST/ASTContext.cpp 8 additions, 0 deletionsclang/lib/AST/ASTContext.cpp
- clang/lib/AST/CMakeLists.txt 3 additions, 0 deletionsclang/lib/AST/CMakeLists.txt
- clang/lib/AST/ExprConstant.cpp 145 additions, 263 deletionsclang/lib/AST/ExprConstant.cpp
- clang/lib/AST/Interp/Block.cpp 87 additions, 0 deletionsclang/lib/AST/Interp/Block.cpp
- clang/lib/AST/Interp/Block.h 140 additions, 0 deletionsclang/lib/AST/Interp/Block.h
- clang/lib/AST/Interp/ByteCodeEmitter.cpp 175 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeEmitter.cpp
- clang/lib/AST/Interp/ByteCodeEmitter.h 112 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeEmitter.h
- clang/lib/AST/Interp/ByteCodeExprGen.cpp 580 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeExprGen.cpp
- clang/lib/AST/Interp/ByteCodeExprGen.h 340 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeExprGen.h
- clang/lib/AST/Interp/ByteCodeGenError.cpp 14 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeGenError.cpp
- clang/lib/AST/Interp/ByteCodeGenError.h 46 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeGenError.h
- clang/lib/AST/Interp/ByteCodeStmtGen.cpp 265 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeStmtGen.cpp
- clang/lib/AST/Interp/ByteCodeStmtGen.h 89 additions, 0 deletionsclang/lib/AST/Interp/ByteCodeStmtGen.h
Loading
Please register or sign in to comment