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.

APSInt

AlignOfType()