forked from cms-sw/cmsdist
/
root-5.34.00-rev-45079.patch
22 lines (22 loc) · 1.04 KB
/
root-5.34.00-rev-45079.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--- root/cint/cint/src/typedef.cxx (revision 45078)
+++ root/cint/cint/src/typedef.cxx (revision 45079)
@@ -1401,7 +1401,18 @@
if (flag == 0 && typein) {
// If we already have a type/class of the same name that is registered in G__struct as forward declared and/or autoload,
// let's invalidate this entry.
- int alias = G__defined_tagname(type_name,4);
+
+ int store_def_tagnum = G__def_tagnum;
+ int store_tagdefining = G__tagdefining;
+ int store_tmplt_def_tagnum = G__tmplt_def_tagnum;
+ G__def_tagnum = G__static_parent_tagnum;
+ G__tagdefining = G__static_parent_tagnum;
+ G__tmplt_def_tagnum = G__static_parent_tagnum;
+ int alias = G__defined_tagname(type_name,4 | 0x1000); // We are looking for an exact match
+ G__def_tagnum = store_def_tagnum;
+ G__tagdefining = store_tagdefining;
+ G__tmplt_def_tagnum = store_tmplt_def_tagnum;
+
if (alias != -1 && G__struct.type[alias] == 'a') {
char *old = G__struct.name[alias];
G__struct.namerange->Remove(old, alias);