clang 17.0.0git
Macros | Functions | Variables
Interpreter.cpp File Reference
#include "clang/Interpreter/Interpreter.h"
#include "DeviceOffload.h"
#include "IncrementalExecutor.h"
#include "IncrementalParser.h"
#include "InterpreterUtils.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/TypeVisitor.h"
#include "clang/Basic/DiagnosticSema.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CodeGen/CodeGenAction.h"
#include "clang/CodeGen/ModuleBuilder.h"
#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/Job.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/Tool.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/TextDiagnosticBuffer.h"
#include "clang/Interpreter/Value.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Sema/Lookup.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Host.h"

Go to the source code of this file.

Macros

#define X(type, name)
 

Functions

REPL_EXTERNAL_VISIBILITY void * __clang_Interpreter_SetValueWithAlloc (void *This, void *OutVal, void *OpaqueType)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType, void *Val)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType)
 
static void SetValueDataBasedOnQualType (Value &V, unsigned long long Data)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType, unsigned long long Val)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType, float Val)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType, double Val)
 
REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc (void *This, void *OutVal, void *OpaqueType, long double Val)
 

Variables

const char *const Runtimes
 
static constexpr llvm::StringRef MagicRuntimeInterface []
 

Macro Definition Documentation

◆ X

#define X (   type,
  name 
)
Value:
case BuiltinType::name: \
V.set##name(Data); \
break;
#define V(N, I)
Definition: ASTContext.h:3230
const char * Data

Function Documentation

◆ __clang_Interpreter_SetValueNoAlloc() [1/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType 
)

Definition at line 760 of file Interpreter.cpp.

◆ __clang_Interpreter_SetValueNoAlloc() [2/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType,
double  Val 
)

Definition at line 800 of file Interpreter.cpp.

◆ __clang_Interpreter_SetValueNoAlloc() [3/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType,
float  Val 
)

Definition at line 792 of file Interpreter.cpp.

◆ __clang_Interpreter_SetValueNoAlloc() [4/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType,
long double  Val 
)

Definition at line 808 of file Interpreter.cpp.

◆ __clang_Interpreter_SetValueNoAlloc() [5/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType,
unsigned long long  Val 
)

Definition at line 784 of file Interpreter.cpp.

References SetValueDataBasedOnQualType().

◆ __clang_Interpreter_SetValueNoAlloc() [6/6]

REPL_EXTERNAL_VISIBILITY void __clang_Interpreter_SetValueNoAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType,
void *  Val 
)

Definition at line 752 of file Interpreter.cpp.

References clang::Value::setPtr().

◆ __clang_Interpreter_SetValueWithAlloc()

REPL_EXTERNAL_VISIBILITY void * __clang_Interpreter_SetValueWithAlloc ( void *  This,
void *  OutVal,
void *  OpaqueType 
)

Definition at line 743 of file Interpreter.cpp.

References clang::Value::getPtr().

◆ SetValueDataBasedOnQualType()

static void SetValueDataBasedOnQualType ( Value V,
unsigned long long  Data 
)
static

Variable Documentation

◆ MagicRuntimeInterface

constexpr llvm::StringRef MagicRuntimeInterface[]
staticconstexpr
Initial value:
= {
"__clang_Interpreter_SetValueNoAlloc",
"__clang_Interpreter_SetValueWithAlloc",
"__clang_Interpreter_SetValueCopyArr"}

Definition at line 497 of file Interpreter.cpp.

◆ Runtimes

const char* const Runtimes
Initial value:
= R"(
void* operator new(__SIZE_TYPE__, void* __p) noexcept;
void *__clang_Interpreter_SetValueWithAlloc(void*, void*, void*);
void __clang_Interpreter_SetValueNoAlloc(void*, void*, void*);
void __clang_Interpreter_SetValueNoAlloc(void*, void*, void*, void*);
void __clang_Interpreter_SetValueNoAlloc(void*, void*, void*, float);
void __clang_Interpreter_SetValueNoAlloc(void*, void*, void*, double);
void __clang_Interpreter_SetValueNoAlloc(void*, void*, void*, long double);
void __clang_Interpreter_SetValueNoAlloc(void*,void*,void*,unsigned long long);
template <class T, class = T (*)() /*disable for arrays*/>
void __clang_Interpreter_SetValueCopyArr(T* Src, void* Placement, unsigned long Size) {
for (auto Idx = 0; Idx < Size; ++Idx)
new ((void*)(((T*)Placement) + Idx)) T(Src[Idx]);
}
template <class T, unsigned long N>
void __clang_Interpreter_SetValueCopyArr(const T (*Src)[N], void* Placement, unsigned long Size) {
__clang_Interpreter_SetValueCopyArr(Src[0], Placement, Size);
}
)"

Definition at line 252 of file Interpreter.cpp.

Referenced by clang::Interpreter::create().