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 |