| Index: gdb/objc-exp.c
|
| diff --git a/gdb/objc-exp.c b/gdb/objc-exp.c
|
| index 08948c1e204c0f4ce9c3affc14067858033921e1..797f83d0b42b28c2df8545591ef5c50a7586ddfb 100644
|
| --- a/gdb/objc-exp.c
|
| +++ b/gdb/objc-exp.c
|
| @@ -213,6 +213,12 @@
|
| #define yygindex objc_yygindex
|
| #define yytable objc_yytable
|
| #define yycheck objc_yycheck
|
| +#define yyss objc_yyss
|
| +#define yysslim objc_yysslim
|
| +#define yyssp objc_yyssp
|
| +#define yystacksize objc_yystacksize
|
| +#define yyvs objc_yyvs
|
| +#define yyvsp objc_yyvsp
|
|
|
| #ifndef YYDEBUG
|
| #define YYDEBUG 0 /* Default to no yydebug support. */
|
| @@ -240,7 +246,7 @@ void yyerror (char *);
|
| #endif
|
|
|
| #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
| -#line 123 "objc-exp.y"
|
| +#line 129 "objc-exp.y"
|
| typedef union YYSTYPE {
|
| LONGEST lval;
|
| struct {
|
| @@ -266,7 +272,7 @@ typedef union YYSTYPE {
|
| int *ivec;
|
| } YYSTYPE;
|
| /* Line 191 of yacc.c. */
|
| -#line 270 "objc-exp.c"
|
| +#line 276 "objc-exp.c"
|
| # define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
| # define YYSTYPE_IS_DECLARED 1
|
| # define YYSTYPE_IS_TRIVIAL 1
|
| @@ -275,14 +281,14 @@ typedef union YYSTYPE {
|
|
|
|
|
| /* Copy the second part of user declarations. */
|
| -#line 148 "objc-exp.y"
|
| +#line 154 "objc-exp.y"
|
|
|
| /* YYSTYPE gets defined by %union. */
|
| static int parse_number (char *, int, int, YYSTYPE *);
|
|
|
|
|
| /* Line 214 of yacc.c. */
|
| -#line 286 "objc-exp.c"
|
| +#line 292 "objc-exp.c"
|
|
|
| #if ! defined (yyoverflow) || YYERROR_VERBOSE
|
|
|
| @@ -517,21 +523,21 @@ static const yysigned_char yyrhs[] =
|
| /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
| static const unsigned short yyrline[] =
|
| {
|
| - 0, 227, 227, 228, 231, 238, 239, 244, 248, 252,
|
| - 256, 260, 264, 268, 272, 276, 280, 284, 290, 297,
|
| - 301, 308, 316, 320, 329, 328, 351, 350, 366, 365,
|
| - 374, 376, 379, 380, 383, 385, 387, 394, 391, 401,
|
| - 405, 408, 412, 416, 419, 426, 432, 438, 444, 448,
|
| - 452, 456, 460, 464, 468, 472, 476, 480, 484, 488,
|
| - 492, 496, 500, 504, 508, 512, 516, 520, 524, 528,
|
| - 534, 541, 554, 561, 564, 568, 575, 583, 608, 616,
|
| - 634, 644, 659, 672, 697, 698, 729, 785, 791, 792,
|
| - 793, 795, 797, 801, 803, 805, 807, 809, 812, 814,
|
| - 819, 826, 828, 832, 834, 838, 840, 852, 856, 858,
|
| - 866, 868, 870, 872, 874, 876, 878, 880, 882, 884,
|
| - 886, 888, 890, 892, 895, 898, 901, 904, 908, 910,
|
| - 914, 916, 923, 924, 927, 928, 934, 940, 949, 954,
|
| - 961, 962, 963, 964, 965, 968, 969
|
| + 0, 233, 233, 234, 237, 244, 245, 250, 254, 258,
|
| + 262, 266, 270, 274, 278, 282, 286, 290, 296, 303,
|
| + 307, 314, 322, 326, 335, 334, 357, 356, 372, 371,
|
| + 380, 382, 385, 386, 389, 391, 393, 400, 397, 407,
|
| + 411, 414, 418, 422, 425, 432, 438, 444, 450, 454,
|
| + 458, 462, 466, 470, 474, 478, 482, 486, 490, 494,
|
| + 498, 502, 506, 510, 514, 518, 522, 526, 530, 534,
|
| + 540, 547, 560, 567, 570, 574, 581, 589, 614, 622,
|
| + 640, 650, 672, 685, 710, 711, 742, 798, 804, 805,
|
| + 806, 808, 810, 814, 816, 818, 820, 822, 825, 827,
|
| + 832, 839, 841, 845, 847, 851, 853, 865, 869, 871,
|
| + 879, 881, 883, 885, 887, 889, 891, 893, 895, 897,
|
| + 899, 901, 903, 905, 908, 911, 914, 917, 921, 923,
|
| + 927, 929, 936, 937, 940, 941, 947, 953, 962, 967,
|
| + 974, 975, 976, 977, 978, 981, 982
|
| };
|
| #endif
|
|
|
| @@ -1501,76 +1507,76 @@ yyreduce:
|
| switch (yyn)
|
| {
|
| case 4:
|
| -#line 232 "objc-exp.y"
|
| +#line 238 "objc-exp.y"
|
| { write_exp_elt_opcode(OP_TYPE);
|
| write_exp_elt_type(yyvsp[0].tval);
|
| write_exp_elt_opcode(OP_TYPE);}
|
| break;
|
|
|
| case 6:
|
| -#line 240 "objc-exp.y"
|
| +#line 246 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_COMMA); }
|
| break;
|
|
|
| case 7:
|
| -#line 245 "objc-exp.y"
|
| +#line 251 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_IND); }
|
| break;
|
|
|
| case 8:
|
| -#line 249 "objc-exp.y"
|
| +#line 255 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_ADDR); }
|
| break;
|
|
|
| case 9:
|
| -#line 253 "objc-exp.y"
|
| +#line 259 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_NEG); }
|
| break;
|
|
|
| case 10:
|
| -#line 257 "objc-exp.y"
|
| +#line 263 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_LOGICAL_NOT); }
|
| break;
|
|
|
| case 11:
|
| -#line 261 "objc-exp.y"
|
| +#line 267 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_COMPLEMENT); }
|
| break;
|
|
|
| case 12:
|
| -#line 265 "objc-exp.y"
|
| +#line 271 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_PREINCREMENT); }
|
| break;
|
|
|
| case 13:
|
| -#line 269 "objc-exp.y"
|
| +#line 275 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_PREDECREMENT); }
|
| break;
|
|
|
| case 14:
|
| -#line 273 "objc-exp.y"
|
| +#line 279 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_POSTINCREMENT); }
|
| break;
|
|
|
| case 15:
|
| -#line 277 "objc-exp.y"
|
| +#line 283 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_POSTDECREMENT); }
|
| break;
|
|
|
| case 16:
|
| -#line 281 "objc-exp.y"
|
| +#line 287 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_SIZEOF); }
|
| break;
|
|
|
| case 17:
|
| -#line 285 "objc-exp.y"
|
| +#line 291 "objc-exp.y"
|
| { write_exp_elt_opcode (STRUCTOP_PTR);
|
| write_exp_string (yyvsp[0].sval);
|
| write_exp_elt_opcode (STRUCTOP_PTR); }
|
| break;
|
|
|
| case 18:
|
| -#line 291 "objc-exp.y"
|
| +#line 297 "objc-exp.y"
|
| { /* exp->type::name becomes exp->*(&type::name) */
|
| /* Note: this doesn't work if name is a
|
| static member! FIXME */
|
| @@ -1579,19 +1585,19 @@ yyreduce:
|
| break;
|
|
|
| case 19:
|
| -#line 298 "objc-exp.y"
|
| +#line 304 "objc-exp.y"
|
| { write_exp_elt_opcode (STRUCTOP_MPTR); }
|
| break;
|
|
|
| case 20:
|
| -#line 302 "objc-exp.y"
|
| +#line 308 "objc-exp.y"
|
| { write_exp_elt_opcode (STRUCTOP_STRUCT);
|
| write_exp_string (yyvsp[0].sval);
|
| write_exp_elt_opcode (STRUCTOP_STRUCT); }
|
| break;
|
|
|
| case 21:
|
| -#line 309 "objc-exp.y"
|
| +#line 315 "objc-exp.y"
|
| { /* exp.type::name becomes exp.*(&type::name) */
|
| /* Note: this doesn't work if name is a
|
| static member! FIXME */
|
| @@ -1600,17 +1606,17 @@ yyreduce:
|
| break;
|
|
|
| case 22:
|
| -#line 317 "objc-exp.y"
|
| +#line 323 "objc-exp.y"
|
| { write_exp_elt_opcode (STRUCTOP_MEMBER); }
|
| break;
|
|
|
| case 23:
|
| -#line 321 "objc-exp.y"
|
| +#line 327 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_SUBSCRIPT); }
|
| break;
|
|
|
| case 24:
|
| -#line 329 "objc-exp.y"
|
| +#line 335 "objc-exp.y"
|
| {
|
| CORE_ADDR class;
|
|
|
| @@ -1628,7 +1634,7 @@ yyreduce:
|
| break;
|
|
|
| case 25:
|
| -#line 344 "objc-exp.y"
|
| +#line 350 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| end_msglist();
|
| write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| @@ -1636,7 +1642,7 @@ yyreduce:
|
| break;
|
|
|
| case 26:
|
| -#line 351 "objc-exp.y"
|
| +#line 357 "objc-exp.y"
|
| {
|
| write_exp_elt_opcode (OP_LONG);
|
| write_exp_elt_type (parse_type->builtin_int);
|
| @@ -1647,7 +1653,7 @@ yyreduce:
|
| break;
|
|
|
| case 27:
|
| -#line 359 "objc-exp.y"
|
| +#line 365 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| end_msglist();
|
| write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| @@ -1655,12 +1661,12 @@ yyreduce:
|
| break;
|
|
|
| case 28:
|
| -#line 366 "objc-exp.y"
|
| +#line 372 "objc-exp.y"
|
| { start_msglist(); }
|
| break;
|
|
|
| case 29:
|
| -#line 368 "objc-exp.y"
|
| +#line 374 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| end_msglist();
|
| write_exp_elt_opcode (OP_OBJC_MSGCALL);
|
| @@ -1668,59 +1674,59 @@ yyreduce:
|
| break;
|
|
|
| case 30:
|
| -#line 375 "objc-exp.y"
|
| +#line 381 "objc-exp.y"
|
| { add_msglist(&yyvsp[0].sval, 0); }
|
| break;
|
|
|
| case 34:
|
| -#line 384 "objc-exp.y"
|
| +#line 390 "objc-exp.y"
|
| { add_msglist(&yyvsp[-2].sval, 1); }
|
| break;
|
|
|
| case 35:
|
| -#line 386 "objc-exp.y"
|
| +#line 392 "objc-exp.y"
|
| { add_msglist(0, 1); }
|
| break;
|
|
|
| case 36:
|
| -#line 388 "objc-exp.y"
|
| +#line 394 "objc-exp.y"
|
| { add_msglist(0, 0); }
|
| break;
|
|
|
| case 37:
|
| -#line 394 "objc-exp.y"
|
| +#line 400 "objc-exp.y"
|
| { start_arglist (); }
|
| break;
|
|
|
| case 38:
|
| -#line 396 "objc-exp.y"
|
| +#line 402 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_FUNCALL);
|
| write_exp_elt_longcst ((LONGEST) end_arglist ());
|
| write_exp_elt_opcode (OP_FUNCALL); }
|
| break;
|
|
|
| case 39:
|
| -#line 402 "objc-exp.y"
|
| +#line 408 "objc-exp.y"
|
| { start_arglist (); }
|
| break;
|
|
|
| case 41:
|
| -#line 409 "objc-exp.y"
|
| +#line 415 "objc-exp.y"
|
| { arglist_len = 1; }
|
| break;
|
|
|
| case 42:
|
| -#line 413 "objc-exp.y"
|
| +#line 419 "objc-exp.y"
|
| { arglist_len++; }
|
| break;
|
|
|
| case 43:
|
| -#line 417 "objc-exp.y"
|
| +#line 423 "objc-exp.y"
|
| { yyval.lval = end_arglist () - 1; }
|
| break;
|
|
|
| case 44:
|
| -#line 420 "objc-exp.y"
|
| +#line 426 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_ARRAY);
|
| write_exp_elt_longcst ((LONGEST) 0);
|
| write_exp_elt_longcst ((LONGEST) yyvsp[0].lval);
|
| @@ -1728,138 +1734,138 @@ yyreduce:
|
| break;
|
|
|
| case 45:
|
| -#line 427 "objc-exp.y"
|
| +#line 433 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_MEMVAL);
|
| write_exp_elt_type (yyvsp[-2].tval);
|
| write_exp_elt_opcode (UNOP_MEMVAL); }
|
| break;
|
|
|
| case 46:
|
| -#line 433 "objc-exp.y"
|
| +#line 439 "objc-exp.y"
|
| { write_exp_elt_opcode (UNOP_CAST);
|
| write_exp_elt_type (yyvsp[-2].tval);
|
| write_exp_elt_opcode (UNOP_CAST); }
|
| break;
|
|
|
| case 47:
|
| -#line 439 "objc-exp.y"
|
| +#line 445 "objc-exp.y"
|
| { }
|
| break;
|
|
|
| case 48:
|
| -#line 445 "objc-exp.y"
|
| +#line 451 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_REPEAT); }
|
| break;
|
|
|
| case 49:
|
| -#line 449 "objc-exp.y"
|
| +#line 455 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_MUL); }
|
| break;
|
|
|
| case 50:
|
| -#line 453 "objc-exp.y"
|
| +#line 459 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_DIV); }
|
| break;
|
|
|
| case 51:
|
| -#line 457 "objc-exp.y"
|
| +#line 463 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_REM); }
|
| break;
|
|
|
| case 52:
|
| -#line 461 "objc-exp.y"
|
| +#line 467 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_ADD); }
|
| break;
|
|
|
| case 53:
|
| -#line 465 "objc-exp.y"
|
| +#line 471 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_SUB); }
|
| break;
|
|
|
| case 54:
|
| -#line 469 "objc-exp.y"
|
| +#line 475 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_LSH); }
|
| break;
|
|
|
| case 55:
|
| -#line 473 "objc-exp.y"
|
| +#line 479 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_RSH); }
|
| break;
|
|
|
| case 56:
|
| -#line 477 "objc-exp.y"
|
| +#line 483 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_EQUAL); }
|
| break;
|
|
|
| case 57:
|
| -#line 481 "objc-exp.y"
|
| +#line 487 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_NOTEQUAL); }
|
| break;
|
|
|
| case 58:
|
| -#line 485 "objc-exp.y"
|
| +#line 491 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_LEQ); }
|
| break;
|
|
|
| case 59:
|
| -#line 489 "objc-exp.y"
|
| +#line 495 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_GEQ); }
|
| break;
|
|
|
| case 60:
|
| -#line 493 "objc-exp.y"
|
| +#line 499 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_LESS); }
|
| break;
|
|
|
| case 61:
|
| -#line 497 "objc-exp.y"
|
| +#line 503 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_GTR); }
|
| break;
|
|
|
| case 62:
|
| -#line 501 "objc-exp.y"
|
| +#line 507 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_AND); }
|
| break;
|
|
|
| case 63:
|
| -#line 505 "objc-exp.y"
|
| +#line 511 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_XOR); }
|
| break;
|
|
|
| case 64:
|
| -#line 509 "objc-exp.y"
|
| +#line 515 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_BITWISE_IOR); }
|
| break;
|
|
|
| case 65:
|
| -#line 513 "objc-exp.y"
|
| +#line 519 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_LOGICAL_AND); }
|
| break;
|
|
|
| case 66:
|
| -#line 517 "objc-exp.y"
|
| +#line 523 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_LOGICAL_OR); }
|
| break;
|
|
|
| case 67:
|
| -#line 521 "objc-exp.y"
|
| +#line 527 "objc-exp.y"
|
| { write_exp_elt_opcode (TERNOP_COND); }
|
| break;
|
|
|
| case 68:
|
| -#line 525 "objc-exp.y"
|
| +#line 531 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_ASSIGN); }
|
| break;
|
|
|
| case 69:
|
| -#line 529 "objc-exp.y"
|
| +#line 535 "objc-exp.y"
|
| { write_exp_elt_opcode (BINOP_ASSIGN_MODIFY);
|
| write_exp_elt_opcode (yyvsp[-1].opcode);
|
| write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); }
|
| break;
|
|
|
| case 70:
|
| -#line 535 "objc-exp.y"
|
| +#line 541 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_LONG);
|
| write_exp_elt_type (yyvsp[0].typed_val_int.type);
|
| write_exp_elt_longcst ((LONGEST)(yyvsp[0].typed_val_int.val));
|
| @@ -1867,7 +1873,7 @@ yyreduce:
|
| break;
|
|
|
| case 71:
|
| -#line 542 "objc-exp.y"
|
| +#line 548 "objc-exp.y"
|
| { YYSTYPE val;
|
| parse_number (yyvsp[0].ssym.stoken.ptr,
|
| yyvsp[0].ssym.stoken.length, 0, &val);
|
| @@ -1880,7 +1886,7 @@ yyreduce:
|
| break;
|
|
|
| case 72:
|
| -#line 555 "objc-exp.y"
|
| +#line 561 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_DOUBLE);
|
| write_exp_elt_type (yyvsp[0].typed_val_float.type);
|
| write_exp_elt_dblcst (yyvsp[0].typed_val_float.dval);
|
| @@ -1888,7 +1894,7 @@ yyreduce:
|
| break;
|
|
|
| case 75:
|
| -#line 569 "objc-exp.y"
|
| +#line 575 "objc-exp.y"
|
| {
|
| write_exp_elt_opcode (OP_OBJC_SELECTOR);
|
| write_exp_string (yyvsp[0].sval);
|
| @@ -1896,7 +1902,7 @@ yyreduce:
|
| break;
|
|
|
| case 76:
|
| -#line 576 "objc-exp.y"
|
| +#line 582 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_LONG);
|
| write_exp_elt_type (parse_type->builtin_int);
|
| CHECK_TYPEDEF (yyvsp[-1].tval);
|
| @@ -1905,7 +1911,7 @@ yyreduce:
|
| break;
|
|
|
| case 77:
|
| -#line 584 "objc-exp.y"
|
| +#line 590 "objc-exp.y"
|
| { /* C strings are converted into array
|
| constants with an explicit null byte
|
| added at the end. Thus the array upper
|
| @@ -1931,14 +1937,14 @@ yyreduce:
|
| break;
|
|
|
| case 78:
|
| -#line 611 "objc-exp.y"
|
| +#line 617 "objc-exp.y"
|
| { write_exp_elt_opcode (OP_OBJC_NSSTRING);
|
| write_exp_string (yyvsp[0].sval);
|
| write_exp_elt_opcode (OP_OBJC_NSSTRING); }
|
| break;
|
|
|
| case 79:
|
| -#line 617 "objc-exp.y"
|
| +#line 623 "objc-exp.y"
|
| {
|
| if (yyvsp[0].ssym.sym != 0)
|
| yyval.bval = SYMBOL_BLOCK_VALUE (yyvsp[0].ssym.sym);
|
| @@ -1957,7 +1963,7 @@ yyreduce:
|
| break;
|
|
|
| case 80:
|
| -#line 635 "objc-exp.y"
|
| +#line 641 "objc-exp.y"
|
| { struct symbol *tem
|
| = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval,
|
| VAR_DOMAIN, (int *) NULL);
|
| @@ -1968,13 +1974,20 @@ yyreduce:
|
| break;
|
|
|
| case 81:
|
| -#line 645 "objc-exp.y"
|
| +#line 651 "objc-exp.y"
|
| { struct symbol *sym;
|
| sym = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval,
|
| VAR_DOMAIN, (int *) NULL);
|
| if (sym == 0)
|
| error (_("No symbol \"%s\" in specified context."),
|
| copy_name (yyvsp[0].sval));
|
| + if (symbol_read_needs_frame (sym))
|
| + {
|
| + if (innermost_block == 0
|
| + || contained_in (block_found,
|
| + innermost_block))
|
| + innermost_block = block_found;
|
| + }
|
|
|
| write_exp_elt_opcode (OP_VAR_VALUE);
|
| /* block_found is set by lookup_symbol. */
|
| @@ -1984,7 +1997,7 @@ yyreduce:
|
| break;
|
|
|
| case 82:
|
| -#line 660 "objc-exp.y"
|
| +#line 673 "objc-exp.y"
|
| {
|
| struct type *type = yyvsp[-2].tval;
|
| if (TYPE_CODE (type) != TYPE_CODE_STRUCT
|
| @@ -2000,7 +2013,7 @@ yyreduce:
|
| break;
|
|
|
| case 83:
|
| -#line 673 "objc-exp.y"
|
| +#line 686 "objc-exp.y"
|
| {
|
| struct type *type = yyvsp[-3].tval;
|
| struct stoken tmp_token;
|
| @@ -2026,7 +2039,7 @@ yyreduce:
|
| break;
|
|
|
| case 85:
|
| -#line 699 "objc-exp.y"
|
| +#line 712 "objc-exp.y"
|
| {
|
| char *name = copy_name (yyvsp[0].sval);
|
| struct symbol *sym;
|
| @@ -2058,7 +2071,7 @@ yyreduce:
|
| break;
|
|
|
| case 86:
|
| -#line 730 "objc-exp.y"
|
| +#line 743 "objc-exp.y"
|
| { struct symbol *sym = yyvsp[0].ssym.sym;
|
|
|
| if (sym)
|
| @@ -2114,47 +2127,47 @@ yyreduce:
|
| break;
|
|
|
| case 90:
|
| -#line 794 "objc-exp.y"
|
| +#line 807 "objc-exp.y"
|
| { yyval.tval = follow_types (yyvsp[-1].tval); }
|
| break;
|
|
|
| case 91:
|
| -#line 796 "objc-exp.y"
|
| +#line 809 "objc-exp.y"
|
| { yyval.tval = follow_types (yyvsp[-2].tval); }
|
| break;
|
|
|
| case 92:
|
| -#line 798 "objc-exp.y"
|
| +#line 811 "objc-exp.y"
|
| { yyval.tval = follow_types (yyvsp[-2].tval); }
|
| break;
|
|
|
| case 93:
|
| -#line 802 "objc-exp.y"
|
| +#line 815 "objc-exp.y"
|
| { push_type (tp_pointer); yyval.voidval = 0; }
|
| break;
|
|
|
| case 94:
|
| -#line 804 "objc-exp.y"
|
| +#line 817 "objc-exp.y"
|
| { push_type (tp_pointer); yyval.voidval = yyvsp[0].voidval; }
|
| break;
|
|
|
| case 95:
|
| -#line 806 "objc-exp.y"
|
| +#line 819 "objc-exp.y"
|
| { push_type (tp_reference); yyval.voidval = 0; }
|
| break;
|
|
|
| case 96:
|
| -#line 808 "objc-exp.y"
|
| +#line 821 "objc-exp.y"
|
| { push_type (tp_reference); yyval.voidval = yyvsp[0].voidval; }
|
| break;
|
|
|
| case 98:
|
| -#line 813 "objc-exp.y"
|
| +#line 826 "objc-exp.y"
|
| { yyval.voidval = yyvsp[-1].voidval; }
|
| break;
|
|
|
| case 99:
|
| -#line 815 "objc-exp.y"
|
| +#line 828 "objc-exp.y"
|
| {
|
| push_type_int (yyvsp[0].lval);
|
| push_type (tp_array);
|
| @@ -2162,7 +2175,7 @@ yyreduce:
|
| break;
|
|
|
| case 100:
|
| -#line 820 "objc-exp.y"
|
| +#line 833 "objc-exp.y"
|
| {
|
| push_type_int (yyvsp[0].lval);
|
| push_type (tp_array);
|
| @@ -2171,42 +2184,42 @@ yyreduce:
|
| break;
|
|
|
| case 101:
|
| -#line 827 "objc-exp.y"
|
| +#line 840 "objc-exp.y"
|
| { push_type (tp_function); }
|
| break;
|
|
|
| case 102:
|
| -#line 829 "objc-exp.y"
|
| +#line 842 "objc-exp.y"
|
| { push_type (tp_function); }
|
| break;
|
|
|
| case 103:
|
| -#line 833 "objc-exp.y"
|
| +#line 846 "objc-exp.y"
|
| { yyval.lval = -1; }
|
| break;
|
|
|
| case 104:
|
| -#line 835 "objc-exp.y"
|
| +#line 848 "objc-exp.y"
|
| { yyval.lval = yyvsp[-1].typed_val_int.val; }
|
| break;
|
|
|
| case 105:
|
| -#line 839 "objc-exp.y"
|
| +#line 852 "objc-exp.y"
|
| { yyval.voidval = 0; }
|
| break;
|
|
|
| case 106:
|
| -#line 841 "objc-exp.y"
|
| +#line 854 "objc-exp.y"
|
| { xfree (yyvsp[-1].tvec); yyval.voidval = 0; }
|
| break;
|
|
|
| case 108:
|
| -#line 857 "objc-exp.y"
|
| +#line 870 "objc-exp.y"
|
| { yyval.tval = yyvsp[0].tsym.type; }
|
| break;
|
|
|
| case 109:
|
| -#line 859 "objc-exp.y"
|
| +#line 872 "objc-exp.y"
|
| {
|
| if (yyvsp[0].class.type == NULL)
|
| error (_("No symbol \"%s\" in current context."),
|
| @@ -2217,137 +2230,137 @@ yyreduce:
|
| break;
|
|
|
| case 110:
|
| -#line 867 "objc-exp.y"
|
| +#line 880 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_int; }
|
| break;
|
|
|
| case 111:
|
| -#line 869 "objc-exp.y"
|
| +#line 882 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_long; }
|
| break;
|
|
|
| case 112:
|
| -#line 871 "objc-exp.y"
|
| +#line 884 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_short; }
|
| break;
|
|
|
| case 113:
|
| -#line 873 "objc-exp.y"
|
| +#line 886 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_long; }
|
| break;
|
|
|
| case 114:
|
| -#line 875 "objc-exp.y"
|
| +#line 888 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_unsigned_long; }
|
| break;
|
|
|
| case 115:
|
| -#line 877 "objc-exp.y"
|
| +#line 890 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_long_long; }
|
| break;
|
|
|
| case 116:
|
| -#line 879 "objc-exp.y"
|
| +#line 892 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_long_long; }
|
| break;
|
|
|
| case 117:
|
| -#line 881 "objc-exp.y"
|
| +#line 894 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_unsigned_long_long; }
|
| break;
|
|
|
| case 118:
|
| -#line 883 "objc-exp.y"
|
| +#line 896 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_unsigned_long_long; }
|
| break;
|
|
|
| case 119:
|
| -#line 885 "objc-exp.y"
|
| +#line 898 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_short; }
|
| break;
|
|
|
| case 120:
|
| -#line 887 "objc-exp.y"
|
| +#line 900 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_unsigned_short; }
|
| break;
|
|
|
| case 121:
|
| -#line 889 "objc-exp.y"
|
| +#line 902 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_double; }
|
| break;
|
|
|
| case 122:
|
| -#line 891 "objc-exp.y"
|
| +#line 904 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_long_double; }
|
| break;
|
|
|
| case 123:
|
| -#line 893 "objc-exp.y"
|
| +#line 906 "objc-exp.y"
|
| { yyval.tval = lookup_struct (copy_name (yyvsp[0].sval),
|
| expression_context_block); }
|
| break;
|
|
|
| case 124:
|
| -#line 896 "objc-exp.y"
|
| +#line 909 "objc-exp.y"
|
| { yyval.tval = lookup_struct (copy_name (yyvsp[0].sval),
|
| expression_context_block); }
|
| break;
|
|
|
| case 125:
|
| -#line 899 "objc-exp.y"
|
| +#line 912 "objc-exp.y"
|
| { yyval.tval = lookup_union (copy_name (yyvsp[0].sval),
|
| expression_context_block); }
|
| break;
|
|
|
| case 126:
|
| -#line 902 "objc-exp.y"
|
| +#line 915 "objc-exp.y"
|
| { yyval.tval = lookup_enum (copy_name (yyvsp[0].sval),
|
| expression_context_block); }
|
| break;
|
|
|
| case 127:
|
| -#line 905 "objc-exp.y"
|
| +#line 918 "objc-exp.y"
|
| { yyval.tval = lookup_unsigned_typename (parse_language,
|
| parse_gdbarch,
|
| TYPE_NAME(yyvsp[0].tsym.type)); }
|
| break;
|
|
|
| case 128:
|
| -#line 909 "objc-exp.y"
|
| +#line 922 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_unsigned_int; }
|
| break;
|
|
|
| case 129:
|
| -#line 911 "objc-exp.y"
|
| +#line 924 "objc-exp.y"
|
| { yyval.tval = lookup_signed_typename (parse_language,
|
| parse_gdbarch,
|
| TYPE_NAME(yyvsp[0].tsym.type)); }
|
| break;
|
|
|
| case 130:
|
| -#line 915 "objc-exp.y"
|
| +#line 928 "objc-exp.y"
|
| { yyval.tval = parse_type->builtin_int; }
|
| break;
|
|
|
| case 131:
|
| -#line 917 "objc-exp.y"
|
| +#line 930 "objc-exp.y"
|
| { yyval.tval = lookup_template_type(copy_name(yyvsp[-3].sval), yyvsp[-1].tval,
|
| expression_context_block);
|
| }
|
| break;
|
|
|
| case 132:
|
| -#line 923 "objc-exp.y"
|
| +#line 936 "objc-exp.y"
|
| { yyval.tval = yyvsp[0].tval; }
|
| break;
|
|
|
| case 133:
|
| -#line 924 "objc-exp.y"
|
| +#line 937 "objc-exp.y"
|
| { yyval.tval = yyvsp[0].tval; }
|
| break;
|
|
|
| case 135:
|
| -#line 929 "objc-exp.y"
|
| +#line 942 "objc-exp.y"
|
| {
|
| yyval.tsym.stoken.ptr = "int";
|
| yyval.tsym.stoken.length = 3;
|
| @@ -2356,7 +2369,7 @@ yyreduce:
|
| break;
|
|
|
| case 136:
|
| -#line 935 "objc-exp.y"
|
| +#line 948 "objc-exp.y"
|
| {
|
| yyval.tsym.stoken.ptr = "long";
|
| yyval.tsym.stoken.length = 4;
|
| @@ -2365,7 +2378,7 @@ yyreduce:
|
| break;
|
|
|
| case 137:
|
| -#line 941 "objc-exp.y"
|
| +#line 954 "objc-exp.y"
|
| {
|
| yyval.tsym.stoken.ptr = "short";
|
| yyval.tsym.stoken.length = 5;
|
| @@ -2374,7 +2387,7 @@ yyreduce:
|
| break;
|
|
|
| case 138:
|
| -#line 950 "objc-exp.y"
|
| +#line 963 "objc-exp.y"
|
| { yyval.tvec = (struct type **) xmalloc (sizeof (struct type *) * 2);
|
| yyval.ivec[0] = 1; /* Number of types in vector. */
|
| yyval.tvec[1] = yyvsp[0].tval;
|
| @@ -2382,7 +2395,7 @@ yyreduce:
|
| break;
|
|
|
| case 139:
|
| -#line 955 "objc-exp.y"
|
| +#line 968 "objc-exp.y"
|
| { int len = sizeof (struct type *) * (++(yyvsp[-2].ivec[0]) + 1);
|
| yyval.tvec = (struct type **) xrealloc ((char *) yyvsp[-2].tvec, len);
|
| yyval.tvec[yyval.ivec[0]] = yyvsp[0].tval;
|
| @@ -2390,27 +2403,27 @@ yyreduce:
|
| break;
|
|
|
| case 140:
|
| -#line 961 "objc-exp.y"
|
| +#line 974 "objc-exp.y"
|
| { yyval.sval = yyvsp[0].ssym.stoken; }
|
| break;
|
|
|
| case 141:
|
| -#line 962 "objc-exp.y"
|
| +#line 975 "objc-exp.y"
|
| { yyval.sval = yyvsp[0].ssym.stoken; }
|
| break;
|
|
|
| case 142:
|
| -#line 963 "objc-exp.y"
|
| +#line 976 "objc-exp.y"
|
| { yyval.sval = yyvsp[0].tsym.stoken; }
|
| break;
|
|
|
| case 143:
|
| -#line 964 "objc-exp.y"
|
| +#line 977 "objc-exp.y"
|
| { yyval.sval = yyvsp[0].class.stoken; }
|
| break;
|
|
|
| case 144:
|
| -#line 965 "objc-exp.y"
|
| +#line 978 "objc-exp.y"
|
| { yyval.sval = yyvsp[0].ssym.stoken; }
|
| break;
|
|
|
| @@ -2418,7 +2431,7 @@ yyreduce:
|
| }
|
|
|
| /* Line 1000 of yacc.c. */
|
| -#line 2422 "objc-exp.c"
|
| +#line 2435 "objc-exp.c"
|
|
|
| yyvsp -= yylen;
|
| yyssp -= yylen;
|
| @@ -2643,7 +2656,7 @@ yyreturn:
|
| }
|
|
|
|
|
| -#line 979 "objc-exp.y"
|
| +#line 992 "objc-exp.y"
|
|
|
|
|
| /* Take care of parsing a number (anything that starts with a digit).
|
| @@ -2653,11 +2666,7 @@ yyreturn:
|
| /*** Needs some error checking for the float case. ***/
|
|
|
| static int
|
| -parse_number (p, len, parsed_float, putithere)
|
| - char *p;
|
| - int len;
|
| - int parsed_float;
|
| - YYSTYPE *putithere;
|
| +parse_number (char *p, int len, int parsed_float, YYSTYPE *putithere)
|
| {
|
| /* FIXME: Shouldn't these be unsigned? We don't deal with negative
|
| values here, and we do kind of silly things like cast to
|
| @@ -3080,9 +3089,6 @@ yylex (void)
|
| case '^':
|
| case '~':
|
| case '!':
|
| -#if 0
|
| - case '@': /* Moved out below. */
|
| -#endif
|
| case '<':
|
| case '>':
|
| case '[':
|
| @@ -3444,8 +3450,7 @@ yylex (void)
|
| }
|
|
|
| void
|
| -yyerror (msg)
|
| - char *msg;
|
| +yyerror (char *msg)
|
| {
|
| if (*lexptr == '\0')
|
| error(_("A %s near end of expression."), (msg ? msg : "error"));
|
|
|