clang 17.0.0git
Macros | Typedefs | Functions
ByteCodeEmitter.cpp File Reference
#include "ByteCodeEmitter.h"
#include "Context.h"
#include "Floating.h"
#include "Opcode.h"
#include "Program.h"
#include "clang/AST/DeclCXX.h"
#include <type_traits>
#include "Opcodes.inc"

Go to the source code of this file.

Macros

#define GET_LINK_IMPL
 

Typedefs

using APSInt = llvm::APSInt
 
using Error = llvm::Error
 

Functions

template<typename T >
static void emit (Program &P, std::vector< char > &Code, const T &Val, bool &Success)
 Helper to write bytecode and bail out if 32-bit offsets become invalid.
 

Macro Definition Documentation

◆ GET_LINK_IMPL

#define GET_LINK_IMPL

Definition at line 217 of file ByteCodeEmitter.cpp.

Typedef Documentation

◆ APSInt

using APSInt = llvm::APSInt

Definition at line 20 of file ByteCodeEmitter.cpp.

◆ Error

using Error = llvm::Error

Definition at line 21 of file ByteCodeEmitter.cpp.

Function Documentation

◆ emit()

template<typename T >
static void emit ( Program P,
std::vector< char > &  Code,
const T &  Val,
bool Success 
)
static

Helper to write bytecode and bail out if 32-bit offsets become invalid.

Pointers will be automatically marshalled as 32-bit IDs.

Definition at line 151 of file ByteCodeEmitter.cpp.

References clang::interp::align(), clang::interp::aligned(), and P.