@@ -31,6 +31,34 @@ static inline char* GetEnv(const char* Var_Name) {
3131#endif
3232}
3333
34+ // Runtime symbols required if the library using JIT (Cpp::Evaluate) does not
35+ // link to llvm
36+ #if !defined(CPPINTEROP_USE_CLING) && !defined(EMSCRIPTEN)
37+ struct __clang_Interpreter_NewTag {
38+ } __ci_newtag;
39+ #if CLANG_VERSION_MAJOR >= 22
40+ extern " C" void * __clang_Interpreter_SetValueWithAlloc (void * This, void * OutVal,
41+ void * OpaqueType)
42+ #else
43+ void * __clang_Interpreter_SetValueWithAlloc (void * This, void * OutVal,
44+ void * OpaqueType);
45+ #endif
46+
47+ #if CLANG_VERSION_MAJOR > 18
48+ extern " C" void __clang_Interpreter_SetValueNoAlloc (void * This,
49+ void * OutVal,
50+ void * OpaqueType, ...);
51+ #else
52+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *);
53+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *, void *);
54+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *, float );
55+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *, double );
56+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *, long double );
57+ void __clang_Interpreter_SetValueNoAlloc (void *, void *, void *,
58+ unsigned long long );
59+ #endif
60+ #endif // CPPINTEROP_USE_CLING
61+
3462#if CLANG_VERSION_MAJOR < 19
3563#define Template_Deduction_Result Sema::TemplateDeductionResult
3664#define Template_Deduction_Result_Success \
0 commit comments