Index: gdb/cp-name-parser.y |
diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y |
index 8b4a1b946ca9f38dfbdc46d9ebd77290042e7048..6767fa5fde5a0c7da6ee4de78d8bae99d1202ff7 100644 |
--- a/gdb/cp-name-parser.y |
+++ b/gdb/cp-name-parser.y |
@@ -170,6 +170,12 @@ static struct demangle_component *d_binary (const char *, |
#define yygindex cpname_yygindex |
#define yytable cpname_yytable |
#define yycheck cpname_yycheck |
+#define yyss cpname_yyss |
+#define yysslim cpname_yysslim |
+#define yyssp cpname_yyssp |
+#define yystacksize cpname_yystacksize |
+#define yyvs cpname_yyvs |
+#define yyvsp cpname_yyvsp |
int yyparse (void); |
static int yylex (void); |
@@ -188,7 +194,11 @@ fill_comp (enum demangle_component_type d_type, struct demangle_component *lhs, |
struct demangle_component *rhs) |
{ |
struct demangle_component *ret = d_grab (); |
- cplus_demangle_fill_component (ret, d_type, lhs, rhs); |
+ int i; |
+ |
+ i = cplus_demangle_fill_component (ret, d_type, lhs, rhs); |
+ gdb_assert (i); |
+ |
return ret; |
} |
@@ -204,7 +214,11 @@ static struct demangle_component * |
make_operator (const char *name, int args) |
{ |
struct demangle_component *ret = d_grab (); |
- cplus_demangle_fill_operator (ret, name, args); |
+ int i; |
+ |
+ i = cplus_demangle_fill_operator (ret, name, args); |
+ gdb_assert (i); |
+ |
return ret; |
} |
@@ -212,7 +226,11 @@ static struct demangle_component * |
make_dtor (enum gnu_v3_dtor_kinds kind, struct demangle_component *name) |
{ |
struct demangle_component *ret = d_grab (); |
- cplus_demangle_fill_dtor (ret, kind, name); |
+ int i; |
+ |
+ i = cplus_demangle_fill_dtor (ret, kind, name); |
+ gdb_assert (i); |
+ |
return ret; |
} |
@@ -220,7 +238,11 @@ static struct demangle_component * |
make_builtin_type (const char *name) |
{ |
struct demangle_component *ret = d_grab (); |
- cplus_demangle_fill_builtin_type (ret, name); |
+ int i; |
+ |
+ i = cplus_demangle_fill_builtin_type (ret, name); |
+ gdb_assert (i); |
+ |
return ret; |
} |
@@ -228,7 +250,11 @@ static struct demangle_component * |
make_name (const char *name, int len) |
{ |
struct demangle_component *ret = d_grab (); |
- cplus_demangle_fill_name (ret, name, len); |
+ int i; |
+ |
+ i = cplus_demangle_fill_name (ret, name, len); |
+ gdb_assert (i); |
+ |
return ret; |
} |
@@ -420,13 +446,13 @@ demangler_special |
; |
operator : OPERATOR NEW |
- { $$ = make_operator ("new", 1); } |
+ { $$ = make_operator ("new", 3); } |
| OPERATOR DELETE |
- { $$ = make_operator ("delete", 1); } |
+ { $$ = make_operator ("delete ", 1); } |
| OPERATOR NEW '[' ']' |
- { $$ = make_operator ("new[]", 1); } |
+ { $$ = make_operator ("new[]", 3); } |
| OPERATOR DELETE '[' ']' |
- { $$ = make_operator ("delete[]", 1); } |
+ { $$ = make_operator ("delete[] ", 1); } |
| OPERATOR '+' |
{ $$ = make_operator ("+", 2); } |
| OPERATOR '-' |