| 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 '-'
|
|
|