Skip to content
Open
Show file tree
Hide file tree
Changes from 6 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