root/root-PyROOT-Add-__hash_not_enabled-to-names-from-std-name.patch
2025-02-19 08:36:52 +01:00

35 lines
1.6 KiB
Diff

From 3280847501bfb354a3a9ff1e023c8fd3b74548f4 Mon Sep 17 00:00:00 2001
From: Stephan Hageboeck <stephan.hageboeck@cern.ch>
Date: Wed, 12 Feb 2025 14:42:43 +0100
Subject: [PATCH] [PyROOT] Add __hash_not_enabled to names from std namespace.
With gcc-15, the lookups of std::hash<xxx> lead to the following error:
input_line_50:1:16: error: explicit instantiation of 'std::__hash_not_enabled'
must occur in namespace 'std'
template class __hash_not_enabled<RooRealVar>;
Adding this class to the list of names that require "std::" fixes the
error.
Fix #17456.
---
.../cppyy/cppyy-backend/clingwrapper/src/clingwrapper.cxx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bindings/pyroot/cppyy/cppyy-backend/clingwrapper/src/clingwrapper.cxx b/bindings/pyroot/cppyy/cppyy-backend/clingwrapper/src/clingwrapper.cxx
index 3aa6704a0b..08972d1460 100644
--- a/bindings/pyroot/cppyy/cppyy-backend/clingwrapper/src/clingwrapper.cxx
+++ b/bindings/pyroot/cppyy/cppyy-backend/clingwrapper/src/clingwrapper.cxx
@@ -275,7 +275,8 @@ public:
"slice_array", "slice", "stack", "string", "strstream", "strstreambuf",
"time_get_byname", "time_get", "time_put_byname", "time_put", "unary_function",
"unary_negate", "unique_ptr", "underflow_error", "unordered_map", "unordered_multimap",
- "unordered_multiset", "unordered_set", "valarray", "vector", "weak_ptr", "wstring"};
+ "unordered_multiset", "unordered_set", "valarray", "vector", "weak_ptr", "wstring",
+ "__hash_not_enabled"};
for (auto& name : stl_names)
gSTLNames.insert(name);
--
2.48.1