clang 20.0.0git
Classes | Namespaces | Macros | Typedefs | Functions
Compiler.cpp File Reference
#include "Compiler.h"
#include "ByteCodeEmitter.h"
#include "Context.h"
#include "FixedPoint.h"
#include "Floating.h"
#include "Function.h"
#include "InterpShared.h"
#include "PrimType.h"
#include "Program.h"
#include "clang/AST/Attr.h"

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
 

Macros

#define EMIT_ARITH_OP(OP)
 

Typedefs

using APSInt = llvm::APSInt
 

Functions

static CharUnits AlignOfType (QualType T, const ASTContext &ASTCtx, UnaryExprOrTypeTrait Kind)
 

Macro Definition Documentation

◆ EMIT_ARITH_OP

#define EMIT_ARITH_OP (   OP)
Value:
{ \
if (ElemT == PT_Float) { \
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.
Expr * E

Typedef Documentation

◆ APSInt

using APSInt = llvm::APSInt

Definition at line 23 of file Compiler.cpp.

Function Documentation

◆ AlignOfType()

static CharUnits AlignOfType ( QualType  T,
const ASTContext ASTCtx,
UnaryExprOrTypeTrait  Kind 
)
static