clang: lib/AST/ByteCode/Compiler.cpp File Reference (original) (raw)
#include "[Compiler.h](lib%5F2AST%5F2ByteCode%5F2Compiler%5F8h%5Fsource.html)"
#include "[ByteCodeEmitter.h](ByteCodeEmitter%5F8h%5Fsource.html)"
#include "[Context.h](lib%5F2AST%5F2ByteCode%5F2Context%5F8h%5Fsource.html)"
#include "[FixedPoint.h](FixedPoint%5F8h%5Fsource.html)"
#include "[Floating.h](Floating%5F8h%5Fsource.html)"
#include "[Function.h](Function%5F8h%5Fsource.html)"
#include "[InterpShared.h](InterpShared%5F8h%5Fsource.html)"
#include "[PrimType.h](PrimType%5F8h%5Fsource.html)"
#include "[Program.h](Program%5F8h%5Fsource.html)"
#include "[clang/AST/Attr.h](AST%5F2Attr%5F8h%5Fsource.html)"
Go to the source code of this file.
Classes | |
---|---|
class | clang::interp::DeclScope< Emitter > |
Scope used to handle temporaries in toplevel variable declarations. More... | |
class | clang::interp::OptionScope< Emitter > |
Scope used to handle initialization methods. More... | |
class | clang::interp::LabelScope< Emitter > |
Scope managing label targets. More... | |
class | clang::interp::LoopScope< Emitter > |
Sets the context for break/continue statements. More... | |
class | clang::interp::SwitchScope< Emitter > |
class | clang::interp::StmtExprScope< Emitter > |
Namespaces | |
---|---|
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::interp |
Typedefs | |
---|---|
using | APSInt = llvm::APSInt |
◆ EMIT_ARITH_OP
| #define EMIT_ARITH_OP | ( | | OP | ) | | ----------------------- | - | | -- | - |
Value:
{ \
if (!this->emit##OP##f(getFPOptions(E), E)) \
return false; \
} else { \
if (!this->emit##OP(ElemT, E)) \
return false; \
} \
break; \
}
static void emit(Program &P, std::vector< std::byte > &Code, const T &Val, bool &Success)
Helper to write bytecode and bail out if 32-bit offsets become invalid.