Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(432)

Unified Diff: gdb/cp-name-parser.c

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/cp-abi.c ('k') | gdb/cp-name-parser.y » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/cp-name-parser.c
diff --git a/gdb/cp-name-parser.c b/gdb/cp-name-parser.c
index 4b5b7c18954a9524eff7a4317097940bf3d15a8f..e5f4f7182e47b59012e0821f70f872dd52b017da 100644
--- a/gdb/cp-name-parser.c
+++ b/gdb/cp-name-parser.c
@@ -304,6 +304,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);
@@ -322,7 +328,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;
}
@@ -338,7 +348,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;
}
@@ -346,7 +360,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;
}
@@ -354,7 +372,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;
}
@@ -362,7 +384,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;
}
@@ -385,7 +411,7 @@ make_name (const char *name, int len)
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 241 "cp-name-parser.y"
+#line 267 "cp-name-parser.y"
typedef union YYSTYPE {
struct demangle_component *comp;
struct nested {
@@ -405,7 +431,7 @@ typedef union YYSTYPE {
const char *opname;
} YYSTYPE;
/* Line 191 of yacc.c. */
-#line 409 "cp-name-parser.c"
+#line 435 "cp-name-parser.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -417,7 +443,7 @@ typedef union YYSTYPE {
/* Line 214 of yacc.c. */
-#line 421 "cp-name-parser.c"
+#line 447 "cp-name-parser.c"
#if ! defined (yyoverflow) || YYERROR_VERBOSE
@@ -674,26 +700,26 @@ static const yysigned_char yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short yyrline[] =
{
- 0, 355, 355, 359, 361, 363, 368, 369, 376, 385,
- 388, 392, 395, 414, 418, 422, 424, 426, 428, 430,
- 432, 434, 436, 438, 440, 442, 444, 446, 448, 450,
- 452, 454, 456, 458, 460, 462, 464, 466, 468, 470,
- 472, 474, 476, 478, 480, 482, 484, 486, 494, 499,
- 504, 508, 513, 521, 522, 524, 536, 537, 543, 545,
- 546, 548, 551, 552, 555, 556, 560, 562, 565, 571,
- 578, 584, 595, 599, 602, 613, 614, 618, 620, 622,
- 625, 629, 634, 639, 645, 655, 659, 663, 671, 672,
- 675, 677, 679, 683, 684, 691, 693, 695, 697, 699,
- 701, 705, 706, 710, 712, 714, 716, 718, 720, 722,
- 726, 732, 736, 744, 754, 758, 774, 776, 777, 779,
- 782, 784, 785, 787, 790, 792, 794, 796, 801, 804,
- 809, 816, 820, 831, 837, 855, 858, 866, 868, 879,
- 886, 887, 893, 897, 901, 903, 908, 913, 926, 930,
- 935, 943, 948, 957, 961, 966, 971, 975, 981, 987,
- 990, 997, 999, 1004, 1008, 1012, 1019, 1035, 1042, 1049,
- 1068, 1072, 1076, 1080, 1084, 1088, 1092, 1096, 1100, 1104,
- 1108, 1112, 1116, 1120, 1124, 1128, 1132, 1137, 1141, 1145,
- 1152, 1156, 1159, 1164, 1173
+ 0, 381, 381, 385, 387, 389, 394, 395, 402, 411,
+ 414, 418, 421, 440, 444, 448, 450, 452, 454, 456,
+ 458, 460, 462, 464, 466, 468, 470, 472, 474, 476,
+ 478, 480, 482, 484, 486, 488, 490, 492, 494, 496,
+ 498, 500, 502, 504, 506, 508, 510, 512, 520, 525,
+ 530, 534, 539, 547, 548, 550, 562, 563, 569, 571,
+ 572, 574, 577, 578, 581, 582, 586, 588, 591, 597,
+ 604, 610, 621, 625, 628, 639, 640, 644, 646, 648,
+ 651, 655, 660, 665, 671, 681, 685, 689, 697, 698,
+ 701, 703, 705, 709, 710, 717, 719, 721, 723, 725,
+ 727, 731, 732, 736, 738, 740, 742, 744, 746, 748,
+ 752, 758, 762, 770, 780, 784, 800, 802, 803, 805,
+ 808, 810, 811, 813, 816, 818, 820, 822, 827, 830,
+ 835, 842, 846, 857, 863, 881, 884, 892, 894, 905,
+ 912, 913, 919, 923, 927, 929, 934, 939, 952, 956,
+ 961, 969, 974, 983, 987, 992, 997, 1001, 1007, 1013,
+ 1016, 1023, 1025, 1030, 1034, 1038, 1045, 1061, 1068, 1075,
+ 1094, 1098, 1102, 1106, 1110, 1114, 1118, 1122, 1126, 1130,
+ 1134, 1138, 1142, 1146, 1150, 1154, 1158, 1163, 1167, 1171,
+ 1178, 1182, 1185, 1190, 1199
};
#endif
@@ -1770,47 +1796,47 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 356 "cp-name-parser.y"
+#line 382 "cp-name-parser.y"
{ global_result = yyvsp[0].comp; }
break;
case 6:
-#line 368 "cp-name-parser.y"
+#line 394 "cp-name-parser.y"
{ yyval.comp = NULL; }
break;
case 7:
-#line 370 "cp-name-parser.y"
+#line 396 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].comp; }
break;
case 8:
-#line 377 "cp-name-parser.y"
+#line 403 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].nested.comp;
*yyvsp[0].nested.last = yyvsp[-1].comp;
}
break;
case 9:
-#line 386 "cp-name-parser.y"
+#line 412 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-2].comp, yyvsp[-1].nested.comp);
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); }
break;
case 10:
-#line 389 "cp-name-parser.y"
+#line 415 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-2].comp, yyvsp[-1].nested.comp);
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); }
break;
case 11:
-#line 393 "cp-name-parser.y"
+#line 419 "cp-name-parser.y"
{ yyval.comp = yyvsp[-1].nested.comp;
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); }
break;
case 12:
-#line 396 "cp-name-parser.y"
+#line 422 "cp-name-parser.y"
{ if (yyvsp[0].abstract.last)
{
/* First complete the abstract_declarator's type using
@@ -1829,189 +1855,189 @@ yyreduce:
break;
case 13:
-#line 415 "cp-name-parser.y"
+#line 441 "cp-name-parser.y"
{ yyval.comp = make_empty (yyvsp[-1].lval);
d_left (yyval.comp) = yyvsp[0].comp;
d_right (yyval.comp) = NULL; }
break;
case 14:
-#line 419 "cp-name-parser.y"
+#line 445 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 15:
-#line 423 "cp-name-parser.y"
- { yyval.comp = make_operator ("new", 1); }
+#line 449 "cp-name-parser.y"
+ { yyval.comp = make_operator ("new", 3); }
break;
case 16:
-#line 425 "cp-name-parser.y"
- { yyval.comp = make_operator ("delete", 1); }
+#line 451 "cp-name-parser.y"
+ { yyval.comp = make_operator ("delete ", 1); }
break;
case 17:
-#line 427 "cp-name-parser.y"
- { yyval.comp = make_operator ("new[]", 1); }
+#line 453 "cp-name-parser.y"
+ { yyval.comp = make_operator ("new[]", 3); }
break;
case 18:
-#line 429 "cp-name-parser.y"
- { yyval.comp = make_operator ("delete[]", 1); }
+#line 455 "cp-name-parser.y"
+ { yyval.comp = make_operator ("delete[] ", 1); }
break;
case 19:
-#line 431 "cp-name-parser.y"
+#line 457 "cp-name-parser.y"
{ yyval.comp = make_operator ("+", 2); }
break;
case 20:
-#line 433 "cp-name-parser.y"
+#line 459 "cp-name-parser.y"
{ yyval.comp = make_operator ("-", 2); }
break;
case 21:
-#line 435 "cp-name-parser.y"
+#line 461 "cp-name-parser.y"
{ yyval.comp = make_operator ("*", 2); }
break;
case 22:
-#line 437 "cp-name-parser.y"
+#line 463 "cp-name-parser.y"
{ yyval.comp = make_operator ("/", 2); }
break;
case 23:
-#line 439 "cp-name-parser.y"
+#line 465 "cp-name-parser.y"
{ yyval.comp = make_operator ("%", 2); }
break;
case 24:
-#line 441 "cp-name-parser.y"
+#line 467 "cp-name-parser.y"
{ yyval.comp = make_operator ("^", 2); }
break;
case 25:
-#line 443 "cp-name-parser.y"
+#line 469 "cp-name-parser.y"
{ yyval.comp = make_operator ("&", 2); }
break;
case 26:
-#line 445 "cp-name-parser.y"
+#line 471 "cp-name-parser.y"
{ yyval.comp = make_operator ("|", 2); }
break;
case 27:
-#line 447 "cp-name-parser.y"
+#line 473 "cp-name-parser.y"
{ yyval.comp = make_operator ("~", 1); }
break;
case 28:
-#line 449 "cp-name-parser.y"
+#line 475 "cp-name-parser.y"
{ yyval.comp = make_operator ("!", 1); }
break;
case 29:
-#line 451 "cp-name-parser.y"
+#line 477 "cp-name-parser.y"
{ yyval.comp = make_operator ("=", 2); }
break;
case 30:
-#line 453 "cp-name-parser.y"
+#line 479 "cp-name-parser.y"
{ yyval.comp = make_operator ("<", 2); }
break;
case 31:
-#line 455 "cp-name-parser.y"
+#line 481 "cp-name-parser.y"
{ yyval.comp = make_operator (">", 2); }
break;
case 32:
-#line 457 "cp-name-parser.y"
+#line 483 "cp-name-parser.y"
{ yyval.comp = make_operator (yyvsp[0].opname, 2); }
break;
case 33:
-#line 459 "cp-name-parser.y"
+#line 485 "cp-name-parser.y"
{ yyval.comp = make_operator ("<<", 2); }
break;
case 34:
-#line 461 "cp-name-parser.y"
+#line 487 "cp-name-parser.y"
{ yyval.comp = make_operator (">>", 2); }
break;
case 35:
-#line 463 "cp-name-parser.y"
+#line 489 "cp-name-parser.y"
{ yyval.comp = make_operator ("==", 2); }
break;
case 36:
-#line 465 "cp-name-parser.y"
+#line 491 "cp-name-parser.y"
{ yyval.comp = make_operator ("!=", 2); }
break;
case 37:
-#line 467 "cp-name-parser.y"
+#line 493 "cp-name-parser.y"
{ yyval.comp = make_operator ("<=", 2); }
break;
case 38:
-#line 469 "cp-name-parser.y"
+#line 495 "cp-name-parser.y"
{ yyval.comp = make_operator (">=", 2); }
break;
case 39:
-#line 471 "cp-name-parser.y"
+#line 497 "cp-name-parser.y"
{ yyval.comp = make_operator ("&&", 2); }
break;
case 40:
-#line 473 "cp-name-parser.y"
+#line 499 "cp-name-parser.y"
{ yyval.comp = make_operator ("||", 2); }
break;
case 41:
-#line 475 "cp-name-parser.y"
+#line 501 "cp-name-parser.y"
{ yyval.comp = make_operator ("++", 1); }
break;
case 42:
-#line 477 "cp-name-parser.y"
+#line 503 "cp-name-parser.y"
{ yyval.comp = make_operator ("--", 1); }
break;
case 43:
-#line 479 "cp-name-parser.y"
+#line 505 "cp-name-parser.y"
{ yyval.comp = make_operator (",", 2); }
break;
case 44:
-#line 481 "cp-name-parser.y"
+#line 507 "cp-name-parser.y"
{ yyval.comp = make_operator ("->*", 2); }
break;
case 45:
-#line 483 "cp-name-parser.y"
+#line 509 "cp-name-parser.y"
{ yyval.comp = make_operator ("->", 2); }
break;
case 46:
-#line 485 "cp-name-parser.y"
+#line 511 "cp-name-parser.y"
{ yyval.comp = make_operator ("()", 2); }
break;
case 47:
-#line 487 "cp-name-parser.y"
+#line 513 "cp-name-parser.y"
{ yyval.comp = make_operator ("[]", 2); }
break;
case 48:
-#line 495 "cp-name-parser.y"
+#line 521 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[0].comp, NULL); }
break;
case 49:
-#line 500 "cp-name-parser.y"
+#line 526 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested1.comp;
d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp;
yyval.nested.last = &d_left (yyvsp[0].comp);
@@ -2019,14 +2045,14 @@ yyreduce:
break;
case 50:
-#line 505 "cp-name-parser.y"
+#line 531 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[0].comp;
yyval.nested.last = &d_left (yyvsp[0].comp);
}
break;
case 51:
-#line 509 "cp-name-parser.y"
+#line 535 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested1.comp;
d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp;
yyval.nested.last = &d_left (yyvsp[0].comp);
@@ -2034,49 +2060,49 @@ yyreduce:
break;
case 52:
-#line 514 "cp-name-parser.y"
+#line 540 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[0].comp;
yyval.nested.last = &d_left (yyvsp[0].comp);
}
break;
case 54:
-#line 523 "cp-name-parser.y"
+#line 549 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, yyvsp[-3].comp, yyvsp[-1].nested.comp); }
break;
case 55:
-#line 525 "cp-name-parser.y"
+#line 551 "cp-name-parser.y"
{ yyval.comp = make_dtor (gnu_v3_complete_object_dtor, yyvsp[0].comp); }
break;
case 57:
-#line 538 "cp-name-parser.y"
+#line 564 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].comp; }
break;
case 58:
-#line 544 "cp-name-parser.y"
+#line 570 "cp-name-parser.y"
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; }
break;
case 60:
-#line 547 "cp-name-parser.y"
+#line 573 "cp-name-parser.y"
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; }
break;
case 65:
-#line 557 "cp-name-parser.y"
+#line 583 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].comp; }
break;
case 66:
-#line 561 "cp-name-parser.y"
+#line 587 "cp-name-parser.y"
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; }
break;
case 68:
-#line 566 "cp-name-parser.y"
+#line 592 "cp-name-parser.y"
{ yyval.nested1.comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
d_left (yyval.nested1.comp) = yyvsp[-1].comp;
d_right (yyval.nested1.comp) = NULL;
@@ -2085,7 +2111,7 @@ yyreduce:
break;
case 69:
-#line 572 "cp-name-parser.y"
+#line 598 "cp-name-parser.y"
{ yyval.nested1.comp = yyvsp[-2].nested1.comp;
d_right (yyvsp[-2].nested1.last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
yyval.nested1.last = d_right (yyvsp[-2].nested1.last);
@@ -2095,7 +2121,7 @@ yyreduce:
break;
case 70:
-#line 579 "cp-name-parser.y"
+#line 605 "cp-name-parser.y"
{ yyval.nested1.comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
d_left (yyval.nested1.comp) = yyvsp[-1].comp;
d_right (yyval.nested1.comp) = NULL;
@@ -2104,7 +2130,7 @@ yyreduce:
break;
case 71:
-#line 585 "cp-name-parser.y"
+#line 611 "cp-name-parser.y"
{ yyval.nested1.comp = yyvsp[-2].nested1.comp;
d_right (yyvsp[-2].nested1.last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME);
yyval.nested1.last = d_right (yyvsp[-2].nested1.last);
@@ -2114,18 +2140,18 @@ yyreduce:
break;
case 72:
-#line 596 "cp-name-parser.y"
+#line 622 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, yyvsp[-3].comp, yyvsp[-1].nested.comp); }
break;
case 73:
-#line 600 "cp-name-parser.y"
+#line 626 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, yyvsp[0].comp, NULL);
yyval.nested.last = &d_right (yyval.nested.comp); }
break;
case 74:
-#line 603 "cp-name-parser.y"
+#line 629 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-2].nested.comp;
*yyvsp[-2].nested.last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, yyvsp[0].comp, NULL);
yyval.nested.last = &d_right (*yyvsp[-2].nested.last);
@@ -2133,31 +2159,31 @@ yyreduce:
break;
case 76:
-#line 615 "cp-name-parser.y"
+#line 641 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].abstract.comp;
*yyvsp[0].abstract.last = yyvsp[-1].comp;
}
break;
case 77:
-#line 619 "cp-name-parser.y"
+#line 645 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[0].comp); }
break;
case 78:
-#line 621 "cp-name-parser.y"
+#line 647 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[-1].comp); }
break;
case 80:
-#line 626 "cp-name-parser.y"
+#line 652 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].comp, NULL);
yyval.nested.last = &d_right (yyval.nested.comp);
}
break;
case 81:
-#line 630 "cp-name-parser.y"
+#line 656 "cp-name-parser.y"
{ *yyvsp[0].abstract.last = yyvsp[-1].comp;
yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].abstract.comp, NULL);
yyval.nested.last = &d_right (yyval.nested.comp);
@@ -2165,7 +2191,7 @@ yyreduce:
break;
case 82:
-#line 635 "cp-name-parser.y"
+#line 661 "cp-name-parser.y"
{ *yyvsp[-2].nested.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].comp, NULL);
yyval.nested.comp = yyvsp[-2].nested.comp;
yyval.nested.last = &d_right (*yyvsp[-2].nested.last);
@@ -2173,7 +2199,7 @@ yyreduce:
break;
case 83:
-#line 640 "cp-name-parser.y"
+#line 666 "cp-name-parser.y"
{ *yyvsp[0].abstract.last = yyvsp[-1].comp;
*yyvsp[-3].nested.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].abstract.comp, NULL);
yyval.nested.comp = yyvsp[-3].nested.comp;
@@ -2182,7 +2208,7 @@ yyreduce:
break;
case 84:
-#line 646 "cp-name-parser.y"
+#line 672 "cp-name-parser.y"
{ *yyvsp[-2].nested.last
= fill_comp (DEMANGLE_COMPONENT_ARGLIST,
make_builtin_type ("..."),
@@ -2193,123 +2219,123 @@ yyreduce:
break;
case 85:
-#line 656 "cp-name-parser.y"
+#line 682 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, yyvsp[-2].nested.comp);
yyval.nested.last = &d_left (yyval.nested.comp);
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); }
break;
case 86:
-#line 660 "cp-name-parser.y"
+#line 686 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
yyval.nested.last = &d_left (yyval.nested.comp);
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); }
break;
case 87:
-#line 664 "cp-name-parser.y"
+#line 690 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL);
yyval.nested.last = &d_left (yyval.nested.comp);
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); }
break;
case 88:
-#line 671 "cp-name-parser.y"
+#line 697 "cp-name-parser.y"
{ yyval.lval = 0; }
break;
case 90:
-#line 676 "cp-name-parser.y"
+#line 702 "cp-name-parser.y"
{ yyval.lval = QUAL_RESTRICT; }
break;
case 91:
-#line 678 "cp-name-parser.y"
+#line 704 "cp-name-parser.y"
{ yyval.lval = QUAL_VOLATILE; }
break;
case 92:
-#line 680 "cp-name-parser.y"
+#line 706 "cp-name-parser.y"
{ yyval.lval = QUAL_CONST; }
break;
case 94:
-#line 685 "cp-name-parser.y"
+#line 711 "cp-name-parser.y"
{ yyval.lval = yyvsp[-1].lval | yyvsp[0].lval; }
break;
case 95:
-#line 692 "cp-name-parser.y"
+#line 718 "cp-name-parser.y"
{ yyval.lval = 0; }
break;
case 96:
-#line 694 "cp-name-parser.y"
+#line 720 "cp-name-parser.y"
{ yyval.lval = INT_SIGNED; }
break;
case 97:
-#line 696 "cp-name-parser.y"
+#line 722 "cp-name-parser.y"
{ yyval.lval = INT_UNSIGNED; }
break;
case 98:
-#line 698 "cp-name-parser.y"
+#line 724 "cp-name-parser.y"
{ yyval.lval = INT_CHAR; }
break;
case 99:
-#line 700 "cp-name-parser.y"
+#line 726 "cp-name-parser.y"
{ yyval.lval = INT_LONG; }
break;
case 100:
-#line 702 "cp-name-parser.y"
+#line 728 "cp-name-parser.y"
{ yyval.lval = INT_SHORT; }
break;
case 102:
-#line 707 "cp-name-parser.y"
+#line 733 "cp-name-parser.y"
{ yyval.lval = yyvsp[-1].lval | yyvsp[0].lval; if (yyvsp[-1].lval & yyvsp[0].lval & INT_LONG) yyval.lval = yyvsp[-1].lval | INT_LLONG; }
break;
case 103:
-#line 711 "cp-name-parser.y"
+#line 737 "cp-name-parser.y"
{ yyval.comp = d_int_type (yyvsp[0].lval); }
break;
case 104:
-#line 713 "cp-name-parser.y"
+#line 739 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("float"); }
break;
case 105:
-#line 715 "cp-name-parser.y"
+#line 741 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("double"); }
break;
case 106:
-#line 717 "cp-name-parser.y"
+#line 743 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("long double"); }
break;
case 107:
-#line 719 "cp-name-parser.y"
+#line 745 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("bool"); }
break;
case 108:
-#line 721 "cp-name-parser.y"
+#line 747 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("wchar_t"); }
break;
case 109:
-#line 723 "cp-name-parser.y"
+#line 749 "cp-name-parser.y"
{ yyval.comp = make_builtin_type ("void"); }
break;
case 110:
-#line 727 "cp-name-parser.y"
+#line 753 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_POINTER);
yyval.nested.comp->u.s_binary.left = yyval.nested.comp->u.s_binary.right = NULL;
yyval.nested.last = &d_left (yyval.nested.comp);
@@ -2317,14 +2343,14 @@ yyreduce:
break;
case 111:
-#line 733 "cp-name-parser.y"
+#line 759 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_REFERENCE);
yyval.nested.comp->u.s_binary.left = yyval.nested.comp->u.s_binary.right = NULL;
yyval.nested.last = &d_left (yyval.nested.comp); }
break;
case 112:
-#line 737 "cp-name-parser.y"
+#line 763 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE);
yyval.nested.comp->u.s_binary.left = yyvsp[-2].nested1.comp;
/* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME. */
@@ -2335,7 +2361,7 @@ yyreduce:
break;
case 113:
-#line 745 "cp-name-parser.y"
+#line 771 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE);
yyval.nested.comp->u.s_binary.left = yyvsp[-2].nested1.comp;
/* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME. */
@@ -2346,77 +2372,77 @@ yyreduce:
break;
case 114:
-#line 755 "cp-name-parser.y"
+#line 781 "cp-name-parser.y"
{ yyval.comp = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE);
d_left (yyval.comp) = NULL;
}
break;
case 115:
-#line 759 "cp-name-parser.y"
+#line 785 "cp-name-parser.y"
{ yyval.comp = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE);
d_left (yyval.comp) = yyvsp[-1].comp;
}
break;
case 116:
-#line 775 "cp-name-parser.y"
+#line 801 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); }
break;
case 118:
-#line 778 "cp-name-parser.y"
+#line 804 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-2].lval | yyvsp[0].lval, 0); }
break;
case 119:
-#line 780 "cp-name-parser.y"
+#line 806 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-1].lval, 0); }
break;
case 120:
-#line 783 "cp-name-parser.y"
+#line 809 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); }
break;
case 122:
-#line 786 "cp-name-parser.y"
+#line 812 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-2].lval | yyvsp[0].lval, 0); }
break;
case 123:
-#line 788 "cp-name-parser.y"
+#line 814 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-1].lval, 0); }
break;
case 124:
-#line 791 "cp-name-parser.y"
+#line 817 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); }
break;
case 125:
-#line 793 "cp-name-parser.y"
+#line 819 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].comp; }
break;
case 126:
-#line 795 "cp-name-parser.y"
+#line 821 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-3].lval | yyvsp[0].lval, 0); }
break;
case 127:
-#line 797 "cp-name-parser.y"
+#line 823 "cp-name-parser.y"
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-2].lval, 0); }
break;
case 128:
-#line 802 "cp-name-parser.y"
+#line 828 "cp-name-parser.y"
{ yyval.abstract.comp = yyvsp[0].nested.comp; yyval.abstract.last = yyvsp[0].nested.last;
yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; }
break;
case 129:
-#line 805 "cp-name-parser.y"
+#line 831 "cp-name-parser.y"
{ yyval.abstract = yyvsp[0].abstract; yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL;
if (yyvsp[0].abstract.fn.comp) { yyval.abstract.last = yyvsp[0].abstract.fn.last; *yyvsp[0].abstract.last = yyvsp[0].abstract.fn.comp; }
*yyval.abstract.last = yyvsp[-1].nested.comp;
@@ -2424,21 +2450,21 @@ yyreduce:
break;
case 130:
-#line 810 "cp-name-parser.y"
+#line 836 "cp-name-parser.y"
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL;
if (yyvsp[0].abstract.fn.comp) { yyval.abstract.last = yyvsp[0].abstract.fn.last; *yyvsp[0].abstract.last = yyvsp[0].abstract.fn.comp; }
}
break;
case 131:
-#line 817 "cp-name-parser.y"
+#line 843 "cp-name-parser.y"
{ yyval.abstract = yyvsp[-1].abstract; yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 1;
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; }
}
break;
case 132:
-#line 821 "cp-name-parser.y"
+#line 847 "cp-name-parser.y"
{ yyval.abstract.fold_flag = 0;
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; }
if (yyvsp[-1].abstract.fold_flag)
@@ -2452,7 +2478,7 @@ yyreduce:
break;
case 133:
-#line 832 "cp-name-parser.y"
+#line 858 "cp-name-parser.y"
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 0;
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; }
*yyvsp[-1].abstract.last = yyvsp[0].comp;
@@ -2461,7 +2487,7 @@ yyreduce:
break;
case 134:
-#line 838 "cp-name-parser.y"
+#line 864 "cp-name-parser.y"
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 0;
yyval.abstract.comp = yyvsp[0].comp;
yyval.abstract.last = &d_right (yyvsp[0].comp);
@@ -2469,13 +2495,13 @@ yyreduce:
break;
case 135:
-#line 856 "cp-name-parser.y"
+#line 882 "cp-name-parser.y"
{ yyval.abstract.comp = yyvsp[0].nested.comp; yyval.abstract.last = yyvsp[0].nested.last;
yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.start = NULL; }
break;
case 136:
-#line 859 "cp-name-parser.y"
+#line 885 "cp-name-parser.y"
{ yyval.abstract = yyvsp[0].abstract;
if (yyvsp[0].abstract.last)
*yyval.abstract.last = yyvsp[-1].nested.comp;
@@ -2486,12 +2512,12 @@ yyreduce:
break;
case 137:
-#line 867 "cp-name-parser.y"
+#line 893 "cp-name-parser.y"
{ yyval.abstract.comp = yyvsp[0].abstract.comp; yyval.abstract.last = yyvsp[0].abstract.last; yyval.abstract.fn = yyvsp[0].abstract.fn; yyval.abstract.start = NULL; }
break;
case 138:
-#line 869 "cp-name-parser.y"
+#line 895 "cp-name-parser.y"
{ yyval.abstract.start = yyvsp[0].comp;
if (yyvsp[-3].abstract.fn.comp) { yyval.abstract.last = yyvsp[-3].abstract.fn.last; *yyvsp[-3].abstract.last = yyvsp[-3].abstract.fn.comp; }
if (yyvsp[-3].abstract.fold_flag)
@@ -2505,7 +2531,7 @@ yyreduce:
break;
case 139:
-#line 880 "cp-name-parser.y"
+#line 906 "cp-name-parser.y"
{ yyval.abstract.fn = yyvsp[-1].nested;
yyval.abstract.start = yyvsp[0].comp;
yyval.abstract.comp = NULL; yyval.abstract.last = NULL;
@@ -2513,26 +2539,26 @@ yyreduce:
break;
case 141:
-#line 888 "cp-name-parser.y"
+#line 914 "cp-name-parser.y"
{ yyval.comp = yyvsp[0].abstract.comp;
*yyvsp[0].abstract.last = yyvsp[-1].comp;
}
break;
case 142:
-#line 894 "cp-name-parser.y"
+#line 920 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[0].nested.comp;
yyval.nested.last = yyvsp[-1].nested.last;
*yyvsp[0].nested.last = yyvsp[-1].nested.comp; }
break;
case 144:
-#line 902 "cp-name-parser.y"
+#line 928 "cp-name-parser.y"
{ yyval.nested = yyvsp[-1].nested; }
break;
case 145:
-#line 904 "cp-name-parser.y"
+#line 930 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested.comp;
*yyvsp[-1].nested.last = yyvsp[0].nested.comp;
yyval.nested.last = yyvsp[0].nested.last;
@@ -2540,7 +2566,7 @@ yyreduce:
break;
case 146:
-#line 909 "cp-name-parser.y"
+#line 935 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested.comp;
*yyvsp[-1].nested.last = yyvsp[0].comp;
yyval.nested.last = &d_right (yyvsp[0].comp);
@@ -2548,7 +2574,7 @@ yyreduce:
break;
case 147:
-#line 914 "cp-name-parser.y"
+#line 940 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME);
d_left (yyval.nested.comp) = yyvsp[0].comp;
yyval.nested.last = &d_right (yyval.nested.comp);
@@ -2556,14 +2582,14 @@ yyreduce:
break;
case 148:
-#line 927 "cp-name-parser.y"
+#line 953 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[0].nested.comp;
yyval.nested.last = yyvsp[-1].nested.last;
*yyvsp[0].nested.last = yyvsp[-1].nested.comp; }
break;
case 149:
-#line 931 "cp-name-parser.y"
+#line 957 "cp-name-parser.y"
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME);
d_left (yyval.nested.comp) = yyvsp[0].comp;
yyval.nested.last = &d_right (yyval.nested.comp);
@@ -2571,7 +2597,7 @@ yyreduce:
break;
case 151:
-#line 944 "cp-name-parser.y"
+#line 970 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-3].comp, yyvsp[-2].nested.comp);
yyval.nested.last = yyvsp[-2].nested.last;
yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.nested.comp, yyvsp[0].comp);
@@ -2579,7 +2605,7 @@ yyreduce:
break;
case 152:
-#line 949 "cp-name-parser.y"
+#line 975 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-3].nested.comp;
*yyvsp[-3].nested.last = yyvsp[-2].nested.comp;
yyval.nested.last = yyvsp[-2].nested.last;
@@ -2588,14 +2614,14 @@ yyreduce:
break;
case 153:
-#line 958 "cp-name-parser.y"
+#line 984 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested.comp;
yyval.nested.last = yyvsp[-2].nested.last;
*yyvsp[-1].nested.last = yyvsp[-2].nested.comp; }
break;
case 154:
-#line 962 "cp-name-parser.y"
+#line 988 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested.comp;
*yyvsp[-1].nested.last = yyvsp[0].nested.comp;
yyval.nested.last = yyvsp[0].nested.last;
@@ -2603,7 +2629,7 @@ yyreduce:
break;
case 155:
-#line 967 "cp-name-parser.y"
+#line 993 "cp-name-parser.y"
{ yyval.nested.comp = yyvsp[-1].nested.comp;
*yyvsp[-1].nested.last = yyvsp[0].comp;
yyval.nested.last = &d_right (yyvsp[0].comp);
@@ -2611,56 +2637,56 @@ yyreduce:
break;
case 156:
-#line 972 "cp-name-parser.y"
+#line 998 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-1].comp, yyvsp[0].nested.comp);
yyval.nested.last = yyvsp[0].nested.last;
}
break;
case 157:
-#line 976 "cp-name-parser.y"
+#line 1002 "cp-name-parser.y"
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-1].comp, yyvsp[0].comp);
yyval.nested.last = &d_right (yyvsp[0].comp);
}
break;
case 158:
-#line 982 "cp-name-parser.y"
+#line 1008 "cp-name-parser.y"
{ yyval.comp = yyvsp[-1].comp; }
break;
case 160:
-#line 991 "cp-name-parser.y"
+#line 1017 "cp-name-parser.y"
{ yyval.comp = d_binary (">", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 161:
-#line 998 "cp-name-parser.y"
+#line 1024 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[0].comp); }
break;
case 162:
-#line 1000 "cp-name-parser.y"
+#line 1026 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[-1].comp); }
break;
case 163:
-#line 1005 "cp-name-parser.y"
+#line 1031 "cp-name-parser.y"
{ yyval.comp = d_unary ("-", yyvsp[0].comp); }
break;
case 164:
-#line 1009 "cp-name-parser.y"
+#line 1035 "cp-name-parser.y"
{ yyval.comp = d_unary ("!", yyvsp[0].comp); }
break;
case 165:
-#line 1013 "cp-name-parser.y"
+#line 1039 "cp-name-parser.y"
{ yyval.comp = d_unary ("~", yyvsp[0].comp); }
break;
case 166:
-#line 1020 "cp-name-parser.y"
+#line 1046 "cp-name-parser.y"
{ if (yyvsp[0].comp->type == DEMANGLE_COMPONENT_LITERAL
|| yyvsp[0].comp->type == DEMANGLE_COMPONENT_LITERAL_NEG)
{
@@ -2675,7 +2701,7 @@ yyreduce:
break;
case 167:
-#line 1036 "cp-name-parser.y"
+#line 1062 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY,
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL),
yyvsp[-1].comp);
@@ -2683,7 +2709,7 @@ yyreduce:
break;
case 168:
-#line 1043 "cp-name-parser.y"
+#line 1069 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY,
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL),
yyvsp[-1].comp);
@@ -2691,7 +2717,7 @@ yyreduce:
break;
case 169:
-#line 1050 "cp-name-parser.y"
+#line 1076 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY,
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL),
yyvsp[-1].comp);
@@ -2699,102 +2725,102 @@ yyreduce:
break;
case 170:
-#line 1069 "cp-name-parser.y"
+#line 1095 "cp-name-parser.y"
{ yyval.comp = d_binary ("*", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 171:
-#line 1073 "cp-name-parser.y"
+#line 1099 "cp-name-parser.y"
{ yyval.comp = d_binary ("/", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 172:
-#line 1077 "cp-name-parser.y"
+#line 1103 "cp-name-parser.y"
{ yyval.comp = d_binary ("%", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 173:
-#line 1081 "cp-name-parser.y"
+#line 1107 "cp-name-parser.y"
{ yyval.comp = d_binary ("+", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 174:
-#line 1085 "cp-name-parser.y"
+#line 1111 "cp-name-parser.y"
{ yyval.comp = d_binary ("-", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 175:
-#line 1089 "cp-name-parser.y"
+#line 1115 "cp-name-parser.y"
{ yyval.comp = d_binary ("<<", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 176:
-#line 1093 "cp-name-parser.y"
+#line 1119 "cp-name-parser.y"
{ yyval.comp = d_binary (">>", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 177:
-#line 1097 "cp-name-parser.y"
+#line 1123 "cp-name-parser.y"
{ yyval.comp = d_binary ("==", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 178:
-#line 1101 "cp-name-parser.y"
+#line 1127 "cp-name-parser.y"
{ yyval.comp = d_binary ("!=", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 179:
-#line 1105 "cp-name-parser.y"
+#line 1131 "cp-name-parser.y"
{ yyval.comp = d_binary ("<=", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 180:
-#line 1109 "cp-name-parser.y"
+#line 1135 "cp-name-parser.y"
{ yyval.comp = d_binary (">=", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 181:
-#line 1113 "cp-name-parser.y"
+#line 1139 "cp-name-parser.y"
{ yyval.comp = d_binary ("<", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 182:
-#line 1117 "cp-name-parser.y"
+#line 1143 "cp-name-parser.y"
{ yyval.comp = d_binary ("&", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 183:
-#line 1121 "cp-name-parser.y"
+#line 1147 "cp-name-parser.y"
{ yyval.comp = d_binary ("^", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 184:
-#line 1125 "cp-name-parser.y"
+#line 1151 "cp-name-parser.y"
{ yyval.comp = d_binary ("|", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 185:
-#line 1129 "cp-name-parser.y"
+#line 1155 "cp-name-parser.y"
{ yyval.comp = d_binary ("&&", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 186:
-#line 1133 "cp-name-parser.y"
+#line 1159 "cp-name-parser.y"
{ yyval.comp = d_binary ("||", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 187:
-#line 1138 "cp-name-parser.y"
+#line 1164 "cp-name-parser.y"
{ yyval.comp = d_binary ("->", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 188:
-#line 1142 "cp-name-parser.y"
+#line 1168 "cp-name-parser.y"
{ yyval.comp = d_binary (".", yyvsp[-2].comp, yyvsp[0].comp); }
break;
case 189:
-#line 1146 "cp-name-parser.y"
+#line 1172 "cp-name-parser.y"
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3),
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, yyvsp[-4].comp,
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, yyvsp[-2].comp, yyvsp[0].comp)));
@@ -2802,12 +2828,12 @@ yyreduce:
break;
case 192:
-#line 1160 "cp-name-parser.y"
+#line 1186 "cp-name-parser.y"
{ yyval.comp = d_unary ("sizeof", yyvsp[-1].comp); }
break;
case 193:
-#line 1165 "cp-name-parser.y"
+#line 1191 "cp-name-parser.y"
{ struct demangle_component *i;
i = make_name ("1", 1);
yyval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL,
@@ -2817,7 +2843,7 @@ yyreduce:
break;
case 194:
-#line 1174 "cp-name-parser.y"
+#line 1200 "cp-name-parser.y"
{ struct demangle_component *i;
i = make_name ("0", 1);
yyval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL,
@@ -2830,7 +2856,7 @@ yyreduce:
}
/* Line 1000 of yacc.c. */
-#line 2834 "cp-name-parser.c"
+#line 2860 "cp-name-parser.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -3055,7 +3081,7 @@ yyreturn:
}
-#line 1184 "cp-name-parser.y"
+#line 1210 "cp-name-parser.y"
/* Apply QUALIFIERS to LHS and return a qualified component. IS_METHOD
« no previous file with comments | « gdb/cp-abi.c ('k') | gdb/cp-name-parser.y » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698