clang 18.0.0git
Macros | Functions
ByteCodeEmitter.cpp File Reference
#include "ByteCodeEmitter.h"
#include "ByteCodeGenError.h"
#include "Context.h"
#include "Floating.h"
#include "Opcode.h"
#include "Program.h"
#include "clang/AST/ASTLambda.h"
#include "clang/AST/DeclCXX.h"
#include "clang/Basic/Builtins.h"
#include <type_traits>
#include "Opcodes.inc"

Go to the source code of this file.

Macros

#define GET_LINK_IMPL
 

Functions

template<typename T >
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.
 
template<>
void emit (Program &P, std::vector< std::byte > &Code, const Floating &Val, bool &Success)
 

Macro Definition Documentation

◆ GET_LINK_IMPL

#define GET_LINK_IMPL

Definition at line 275 of file ByteCodeEmitter.cpp.

Function Documentation

◆ emit() [1/2]

template<>
void emit ( Program P,
std::vector< std::byte > &  Code,
const Floating Val,
bool Success 
)

◆ emit() [2/2]

template<typename T >
static void emit ( Program P,
std::vector< std::byte > &  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 190 of file ByteCodeEmitter.cpp.

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