Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion core/metacling/src/TCling.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1588,7 +1588,8 @@ TCling::TCling(const char *name, const char *title, const char* const argv[], vo

// Tell CppInterOp that the cling::Interpreter instance is managed externally by ROOT
// Sets the interpreter by passing the fInterpreter handle as soon as TCling is initialized
Cpp::UseExternalInterpreter((Cpp::TInterp_t*)fInterpreter.get());
if (!IsFromRootCling())
Cpp::UseExternalInterpreter(fInterpreter.get());

// Don't check whether modules' files exist.
fInterpreter->getCI()->getPreprocessorOpts().DisablePCHOrModuleValidation =
Expand Down
4 changes: 2 additions & 2 deletions core/metacling/src/TClingCallFunc.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1254,7 +1254,7 @@ void *TClingCallFunc::ExecDefaultConstructor(const TClingClassInfo *info,

if (Cpp::IsClass(D) || Cpp::IsConstructor(D)) {
R__LOCKGUARD_CLING(gInterpreterMutex);
return Cpp::Construct(D, address, nary);
return Cpp::Construct(D, address, nary).data;
}

::Error("TClingCallFunc::ExecDefaultConstructor", "ClassInfo missing a valid Scope/Constructor");
Expand All @@ -1271,7 +1271,7 @@ void TClingCallFunc::ExecDestructor(const TClingClassInfo *info, void *address /

R__LOCKGUARD_CLING(gInterpreterMutex);

if (Cpp::Destruct(address, info->GetDecl(), nary, withFree))
if (Cpp::Destruct(address, const_cast<clang::Decl *>(info->GetDecl()), withFree, nary))
return;

::Error("TClingCallFunc::ExecDestructor", "Called with no wrapper, not implemented!");
Expand Down
1 change: 1 addition & 0 deletions interpreter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,7 @@ set(cppinterop_src_files
${CMAKE_CURRENT_SOURCE_DIR}/CppInterOp/include/CppInterOp/CppInterOp.h
${CMAKE_CURRENT_SOURCE_DIR}/CppInterOp/include/CppInterOp/CppInterOpTypes.h
${CMAKE_CURRENT_SOURCE_DIR}/CppInterOp/include/CppInterOp/Dispatch.h
${CMAKE_CURRENT_SOURCE_DIR}/CppInterOp/include/CppInterOp/Box.h
${cppinterop_gen_dir}/BuildInfo.inc
${cppinterop_gen_dir}/CppInterOpAPI.inc
${cppinterop_gen_dir}/CppInterOpDecl.inc
Expand Down
6 changes: 6 additions & 0 deletions interpreter/CppInterOp/.bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
common --enable_bzlmod
test --test_output=errors

# The C++ toolchain (clang from the LLVM tree) and all ABI-critical flags are
# centralized in the cppyy_bazel module, which registers @llvm//:cc_toolchain.
# No per-repo compiler wiring needed.
1 change: 1 addition & 0 deletions interpreter/CppInterOp/.bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.3.1
8 changes: 8 additions & 0 deletions interpreter/CppInterOp/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,11 @@ install

# Default Virtual Environments
.venv

# Bazel (convenience symlinks; bazel-support/ is checked in)
/bazel-bin
/bazel-out
/bazel-testlogs
/bazel-CppInterOp
# Registry-specific; consumers regenerate. Not vendored upstream.
/MODULE.bazel.lock
Loading
Loading