cxxfilt 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/cxxfilt.gemspec +2 -2
- data/{ansidecl.h → ext/cxxfilt/ansidecl.h} +7 -89
- data/ext/cxxfilt/cp-demangle.c +980 -361
- data/ext/cxxfilt/cp-demangle.h +9 -2
- data/ext/cxxfilt/cp-demint.c +4 -1
- data/ext/cxxfilt/cplus-dem.c +19 -4589
- data/ext/cxxfilt/d-demangle.c +645 -309
- data/ext/cxxfilt/demangle.h +58 -51
- data/ext/cxxfilt/environ.h +1 -1
- data/ext/cxxfilt/extconf.rb +1 -0
- data/ext/cxxfilt/libiberty.h +52 -20
- data/ext/cxxfilt/rust-demangle.c +1508 -252
- data/ext/cxxfilt/safe-ctype.c +1 -1
- data/ext/cxxfilt/safe-ctype.h +2 -2
- data/ext/cxxfilt/xexit.c +1 -1
- data/ext/cxxfilt/xmalloc.c +10 -8
- data/ext/cxxfilt/xmemdup.c +4 -4
- data/lib/cxxfilt/version.rb +1 -1
- metadata +12 -12
data/ext/cxxfilt/cp-demangle.h
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/* Internal demangler interface for g++ V3 ABI.
|
2
|
-
Copyright (C) 2003-
|
2
|
+
Copyright (C) 2003-2025 Free Software Foundation, Inc.
|
3
3
|
Written by Ian Lance Taylor <ian@wasabisystems.com>.
|
4
4
|
|
5
5
|
This file is part of the libiberty library, which is part of GCC.
|
@@ -122,6 +122,13 @@ struct d_info
|
|
122
122
|
/* Non-zero if we are parsing the type operand of a conversion
|
123
123
|
operator, but not when in an expression. */
|
124
124
|
int is_conversion;
|
125
|
+
/* 1: using new unresolved-name grammar.
|
126
|
+
-1: using new unresolved-name grammar and saw an unresolved-name.
|
127
|
+
0: using old unresolved-name grammar. */
|
128
|
+
int unresolved_name_state;
|
129
|
+
/* If DMGL_NO_RECURSE_LIMIT is not active then this is set to
|
130
|
+
the current recursion level. */
|
131
|
+
unsigned int recursion_level;
|
125
132
|
};
|
126
133
|
|
127
134
|
/* To avoid running past the ending '\0', don't:
|
@@ -173,7 +180,7 @@ d_advance (struct d_info *di, int i)
|
|
173
180
|
extern const struct demangle_operator_info cplus_demangle_operators[];
|
174
181
|
#endif
|
175
182
|
|
176
|
-
#define D_BUILTIN_TYPE_COUNT (
|
183
|
+
#define D_BUILTIN_TYPE_COUNT (36)
|
177
184
|
|
178
185
|
CP_STATIC_IF_GLIBCPP_V3
|
179
186
|
const struct demangle_builtin_type_info
|
data/ext/cxxfilt/cp-demint.c
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/* Demangler component interface functions.
|
2
|
-
Copyright (C) 2004-
|
2
|
+
Copyright (C) 2004-2025 Free Software Foundation, Inc.
|
3
3
|
Written by Ian Lance Taylor <ian@wasabisystems.com>.
|
4
4
|
|
5
5
|
This file is part of the libiberty library, which is part of GCC.
|
@@ -125,6 +125,7 @@ cplus_demangle_fill_component (struct demangle_component *p,
|
|
125
125
|
p->u.s_binary.left = left;
|
126
126
|
p->u.s_binary.right = right;
|
127
127
|
p->d_printing = 0;
|
128
|
+
p->d_counting = 0;
|
128
129
|
|
129
130
|
return 1;
|
130
131
|
}
|
@@ -149,6 +150,7 @@ cplus_demangle_fill_builtin_type (struct demangle_component *p,
|
|
149
150
|
p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
|
150
151
|
p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
|
151
152
|
p->d_printing = 0;
|
153
|
+
p->d_counting = 0;
|
152
154
|
return 1;
|
153
155
|
}
|
154
156
|
}
|
@@ -176,6 +178,7 @@ cplus_demangle_fill_operator (struct demangle_component *p,
|
|
176
178
|
p->type = DEMANGLE_COMPONENT_OPERATOR;
|
177
179
|
p->u.s_operator.op = &cplus_demangle_operators[i];
|
178
180
|
p->d_printing = 0;
|
181
|
+
p->d_counting = 0;
|
179
182
|
return 1;
|
180
183
|
}
|
181
184
|
}
|