llvm-project/clang/lib/AST/Interp
Corentin Jabot 424733c12a Implement if consteval (P1938)
Modify the IfStmt node to suppoort constant evaluated expressions.

Add a new ExpressionEvaluationContext::ImmediateFunctionContext to
keep track of immediate function contexts.

This proved easier/better/probably more efficient than walking the AST
backward as it allows diagnosing nested if consteval statements.
2021-10-05 08:04:14 -04:00
..
Boolean.h
ByteCodeEmitter.cpp [Clang interpreter] Avoid storing pointers at unaligned locations 2021-07-28 16:03:41 +01:00
ByteCodeEmitter.h
ByteCodeExprGen.cpp
ByteCodeExprGen.h Avoid ASTContext.h -> TargetInfo.h dep 2020-02-27 14:35:00 -08:00
ByteCodeGenError.cpp
ByteCodeGenError.h
ByteCodeStmtGen.cpp Implement if consteval (P1938) 2021-10-05 08:04:14 -04:00
ByteCodeStmtGen.h
Context.cpp Avoid ASTContext.h -> TargetInfo.h dep 2020-02-27 14:35:00 -08:00
Context.h Fix typo in two files in Clang, patch by FusionBolt 2021-08-31 12:33:37 +05:30
Descriptor.cpp
Descriptor.h [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
Disasm.cpp [Clang interpreter] Avoid storing pointers at unaligned locations 2021-07-28 16:03:41 +01:00
EvalEmitter.cpp
EvalEmitter.h
Frame.cpp
Frame.h
Function.cpp
Function.h [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
Integral.h
Interp.cpp C++2a -> C++20 in some identifiers; NFC. 2020-04-21 15:37:19 -04:00
Interp.h Fix typo in two files in Clang, patch by FusionBolt 2021-08-31 12:33:37 +05:30
InterpBlock.cpp [Clang interpreter] Rename Block.{h,cpp} to InterpBlock.{h,cpp} 2020-02-21 09:47:28 -08:00
InterpBlock.h [Clang interpreter] Rename Block.{h,cpp} to InterpBlock.{h,cpp} 2020-02-21 09:47:28 -08:00
InterpFrame.cpp
InterpFrame.h [clang][NFC] Add 'override' keyword to virtual function overrides 2020-07-14 08:59:57 -07:00
InterpStack.cpp
InterpStack.h [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
InterpState.cpp
InterpState.h [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
Opcode.h
Opcodes.td [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
Pointer.cpp [Clang interpreter] Rename Block.{h,cpp} to InterpBlock.{h,cpp} 2020-02-21 09:47:28 -08:00
Pointer.h [Clang interpreter] Rename Block.{h,cpp} to InterpBlock.{h,cpp} 2020-02-21 09:47:28 -08:00
PrimType.cpp
PrimType.h
Program.cpp [clang] Fix a few more comment typos to cycle bots 2021-09-20 20:06:03 -04:00
Program.h [Clang interpreter] Avoid storing pointers at unaligned locations 2021-07-28 16:03:41 +01:00
Record.cpp
Record.h
Source.cpp
Source.h [Clang interpreter] Avoid storing pointers at unaligned locations 2021-07-28 16:03:41 +01:00
State.cpp [clang][NFC] Use SmallString instead of SmallVector<char 2020-11-17 13:02:58 +00:00
State.h