Index: gdb/ada-exp.c |
diff --git a/gdb/ada-exp.c b/gdb/ada-exp.c |
index cd28cee9b2d5b371c808e747334df584677ab1fc..4aad95c63224a4d3b64a5e579f0a84dab0e4810a 100644 |
--- a/gdb/ada-exp.c |
+++ b/gdb/ada-exp.c |
@@ -213,6 +213,12 @@ |
#define yytoks ada_toks /* With YYDEBUG defined */ |
#define yyname ada_name /* With YYDEBUG defined */ |
#define yyrule ada_rule /* With YYDEBUG defined */ |
+#define yyss ada_yyss |
+#define yysslim ada_yysslim |
+#define yyssp ada_yyssp |
+#define yystacksize ada_yystacksize |
+#define yyvs ada_yyvs |
+#define yyvsp ada_yyvsp |
#ifndef YYDEBUG |
#define YYDEBUG 1 /* Default to yydebug support */ |
@@ -292,7 +298,7 @@ static struct type *type_system_address (void); |
#endif |
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
-#line 163 "ada-exp.y" |
+#line 169 "ada-exp.y" |
typedef union YYSTYPE { |
LONGEST lval; |
struct { |
@@ -309,7 +315,7 @@ typedef union YYSTYPE { |
struct internalvar *ivar; |
} YYSTYPE; |
/* Line 191 of yacc.c. */ |
-#line 313 "ada-exp.c" |
+#line 319 "ada-exp.c" |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
@@ -321,7 +327,7 @@ typedef union YYSTYPE { |
/* Line 214 of yacc.c. */ |
-#line 325 "ada-exp.c" |
+#line 331 "ada-exp.c" |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
@@ -553,19 +559,19 @@ static const yysigned_char yyrhs[] = |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = |
{ |
- 0, 228, 228, 232, 233, 235, 240, 244, 248, 254, |
- 273, 273, 285, 289, 291, 299, 310, 320, 324, 327, |
- 330, 334, 338, 342, 346, 349, 351, 353, 355, 359, |
- 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, |
- 411, 415, 419, 423, 425, 430, 438, 442, 448, 459, |
- 463, 467, 471, 472, 473, 474, 475, 476, 480, 482, |
- 487, 489, 494, 496, 501, 503, 507, 509, 521, 523, |
- 529, 532, 535, 538, 540, 542, 544, 546, 548, 550, |
- 554, 556, 561, 571, 573, 579, 583, 590, 598, 602, |
- 608, 610, 614, 618, 620, 622, 630, 641, 643, 648, |
- 657, 658, 664, 669, 675, 684, 685, 686, 690, 695, |
- 710, 709, 712, 715, 714, 720, 719, 722, 725, 724, |
- 732, 734, 736 |
+ 0, 234, 234, 238, 239, 241, 246, 250, 254, 260, |
+ 279, 279, 291, 295, 297, 305, 316, 326, 330, 333, |
+ 336, 340, 344, 348, 352, 355, 357, 359, 361, 365, |
+ 378, 382, 386, 390, 394, 398, 402, 406, 410, 414, |
+ 417, 421, 425, 429, 431, 436, 444, 448, 454, 465, |
+ 469, 473, 477, 478, 479, 480, 481, 482, 486, 488, |
+ 493, 495, 500, 502, 507, 509, 513, 515, 527, 529, |
+ 535, 538, 541, 544, 546, 548, 550, 552, 554, 556, |
+ 560, 562, 567, 577, 579, 585, 589, 596, 604, 608, |
+ 614, 616, 620, 624, 626, 628, 636, 647, 649, 654, |
+ 663, 664, 670, 675, 681, 690, 691, 692, 696, 701, |
+ 716, 715, 718, 721, 720, 726, 725, 728, 731, 730, |
+ 738, 740, 742 |
}; |
#endif |
@@ -1531,27 +1537,27 @@ yyreduce: |
switch (yyn) |
{ |
case 4: |
-#line 234 "ada-exp.y" |
+#line 240 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_COMMA); } |
break; |
case 5: |
-#line 236 "ada-exp.y" |
+#line 242 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN); } |
break; |
case 6: |
-#line 241 "ada-exp.y" |
+#line 247 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_IND); } |
break; |
case 7: |
-#line 245 "ada-exp.y" |
+#line 251 "ada-exp.y" |
{ write_exp_op_with_string (STRUCTOP_STRUCT, yyvsp[0].sval); } |
break; |
case 8: |
-#line 249 "ada-exp.y" |
+#line 255 "ada-exp.y" |
{ |
write_exp_elt_opcode (OP_FUNCALL); |
write_exp_elt_longcst (yyvsp[-1].lval); |
@@ -1560,7 +1566,7 @@ yyreduce: |
break; |
case 9: |
-#line 255 "ada-exp.y" |
+#line 261 "ada-exp.y" |
{ |
if (yyvsp[-3].tval != NULL) |
{ |
@@ -1580,12 +1586,12 @@ yyreduce: |
break; |
case 10: |
-#line 273 "ada-exp.y" |
+#line 279 "ada-exp.y" |
{ type_qualifier = yyvsp[-2].tval; } |
break; |
case 11: |
-#line 275 "ada-exp.y" |
+#line 281 "ada-exp.y" |
{ |
if (yyvsp[-6].tval == NULL) |
error (_("Type required for qualification")); |
@@ -1597,17 +1603,17 @@ yyreduce: |
break; |
case 12: |
-#line 285 "ada-exp.y" |
+#line 291 "ada-exp.y" |
{ yyval.tval = type_qualifier; } |
break; |
case 13: |
-#line 290 "ada-exp.y" |
+#line 296 "ada-exp.y" |
{ write_exp_elt_opcode (TERNOP_SLICE); } |
break; |
case 14: |
-#line 292 "ada-exp.y" |
+#line 298 "ada-exp.y" |
{ if (yyvsp[-5].tval == NULL) |
write_exp_elt_opcode (TERNOP_SLICE); |
else |
@@ -1616,12 +1622,12 @@ yyreduce: |
break; |
case 15: |
-#line 299 "ada-exp.y" |
+#line 305 "ada-exp.y" |
{ } |
break; |
case 16: |
-#line 311 "ada-exp.y" |
+#line 317 "ada-exp.y" |
{ if (yyvsp[0].tval != NULL) |
{ |
write_exp_elt_opcode (OP_TYPE); |
@@ -1632,57 +1638,57 @@ yyreduce: |
break; |
case 17: |
-#line 321 "ada-exp.y" |
+#line 327 "ada-exp.y" |
{ write_dollar_variable (yyvsp[0].sval); } |
break; |
case 20: |
-#line 331 "ada-exp.y" |
+#line 337 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_NEG); } |
break; |
case 21: |
-#line 335 "ada-exp.y" |
+#line 341 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_PLUS); } |
break; |
case 22: |
-#line 339 "ada-exp.y" |
+#line 345 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_LOGICAL_NOT); } |
break; |
case 23: |
-#line 343 "ada-exp.y" |
+#line 349 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_ABS); } |
break; |
case 24: |
-#line 346 "ada-exp.y" |
+#line 352 "ada-exp.y" |
{ yyval.lval = 0; } |
break; |
case 25: |
-#line 350 "ada-exp.y" |
+#line 356 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 26: |
-#line 352 "ada-exp.y" |
+#line 358 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 27: |
-#line 354 "ada-exp.y" |
+#line 360 "ada-exp.y" |
{ yyval.lval = yyvsp[-2].lval + 1; } |
break; |
case 28: |
-#line 356 "ada-exp.y" |
+#line 362 "ada-exp.y" |
{ yyval.lval = yyvsp[-4].lval + 1; } |
break; |
case 29: |
-#line 361 "ada-exp.y" |
+#line 367 "ada-exp.y" |
{ |
if (yyvsp[-2].tval == NULL) |
error (_("Type required within braces in coercion")); |
@@ -1693,72 +1699,72 @@ yyreduce: |
break; |
case 30: |
-#line 373 "ada-exp.y" |
+#line 379 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_EXP); } |
break; |
case 31: |
-#line 377 "ada-exp.y" |
+#line 383 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_MUL); } |
break; |
case 32: |
-#line 381 "ada-exp.y" |
+#line 387 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_DIV); } |
break; |
case 33: |
-#line 385 "ada-exp.y" |
+#line 391 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_REM); } |
break; |
case 34: |
-#line 389 "ada-exp.y" |
+#line 395 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_MOD); } |
break; |
case 35: |
-#line 393 "ada-exp.y" |
+#line 399 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_REPEAT); } |
break; |
case 36: |
-#line 397 "ada-exp.y" |
+#line 403 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_ADD); } |
break; |
case 37: |
-#line 401 "ada-exp.y" |
+#line 407 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_CONCAT); } |
break; |
case 38: |
-#line 405 "ada-exp.y" |
+#line 411 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_SUB); } |
break; |
case 40: |
-#line 412 "ada-exp.y" |
+#line 418 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_EQUAL); } |
break; |
case 41: |
-#line 416 "ada-exp.y" |
+#line 422 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_NOTEQUAL); } |
break; |
case 42: |
-#line 420 "ada-exp.y" |
+#line 426 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LEQ); } |
break; |
case 43: |
-#line 424 "ada-exp.y" |
+#line 430 "ada-exp.y" |
{ write_exp_elt_opcode (TERNOP_IN_RANGE); } |
break; |
case 44: |
-#line 426 "ada-exp.y" |
+#line 432 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_IN_BOUNDS); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_opcode (BINOP_IN_BOUNDS); |
@@ -1766,7 +1772,7 @@ yyreduce: |
break; |
case 45: |
-#line 431 "ada-exp.y" |
+#line 437 "ada-exp.y" |
{ |
if (yyvsp[0].tval == NULL) |
error (_("Right operand of 'in' must be type")); |
@@ -1777,14 +1783,14 @@ yyreduce: |
break; |
case 46: |
-#line 439 "ada-exp.y" |
+#line 445 "ada-exp.y" |
{ write_exp_elt_opcode (TERNOP_IN_RANGE); |
write_exp_elt_opcode (UNOP_LOGICAL_NOT); |
} |
break; |
case 47: |
-#line 443 "ada-exp.y" |
+#line 449 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_IN_BOUNDS); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_opcode (BINOP_IN_BOUNDS); |
@@ -1793,7 +1799,7 @@ yyreduce: |
break; |
case 48: |
-#line 449 "ada-exp.y" |
+#line 455 "ada-exp.y" |
{ |
if (yyvsp[0].tval == NULL) |
error (_("Right operand of 'in' must be type")); |
@@ -1805,77 +1811,77 @@ yyreduce: |
break; |
case 49: |
-#line 460 "ada-exp.y" |
+#line 466 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_GEQ); } |
break; |
case 50: |
-#line 464 "ada-exp.y" |
+#line 470 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LESS); } |
break; |
case 51: |
-#line 468 "ada-exp.y" |
+#line 474 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_GTR); } |
break; |
case 58: |
-#line 481 "ada-exp.y" |
+#line 487 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_AND); } |
break; |
case 59: |
-#line 483 "ada-exp.y" |
+#line 489 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_AND); } |
break; |
case 60: |
-#line 488 "ada-exp.y" |
+#line 494 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_AND); } |
break; |
case 61: |
-#line 490 "ada-exp.y" |
+#line 496 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_AND); } |
break; |
case 62: |
-#line 495 "ada-exp.y" |
+#line 501 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_IOR); } |
break; |
case 63: |
-#line 497 "ada-exp.y" |
+#line 503 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_IOR); } |
break; |
case 64: |
-#line 502 "ada-exp.y" |
+#line 508 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_OR); } |
break; |
case 65: |
-#line 504 "ada-exp.y" |
+#line 510 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_OR); } |
break; |
case 66: |
-#line 508 "ada-exp.y" |
+#line 514 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_XOR); } |
break; |
case 67: |
-#line 510 "ada-exp.y" |
+#line 516 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_XOR); } |
break; |
case 68: |
-#line 522 "ada-exp.y" |
+#line 528 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); } |
break; |
case 69: |
-#line 524 "ada-exp.y" |
+#line 530 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); |
write_exp_elt_opcode (UNOP_CAST); |
write_exp_elt_type (type_system_address ()); |
@@ -1884,70 +1890,70 @@ yyreduce: |
break; |
case 70: |
-#line 530 "ada-exp.y" |
+#line 536 "ada-exp.y" |
{ write_int (yyvsp[0].lval, type_int ()); |
write_exp_elt_opcode (OP_ATR_FIRST); } |
break; |
case 71: |
-#line 533 "ada-exp.y" |
+#line 539 "ada-exp.y" |
{ write_int (yyvsp[0].lval, type_int ()); |
write_exp_elt_opcode (OP_ATR_LAST); } |
break; |
case 72: |
-#line 536 "ada-exp.y" |
+#line 542 "ada-exp.y" |
{ write_int (yyvsp[0].lval, type_int ()); |
write_exp_elt_opcode (OP_ATR_LENGTH); } |
break; |
case 73: |
-#line 539 "ada-exp.y" |
+#line 545 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_SIZE); } |
break; |
case 74: |
-#line 541 "ada-exp.y" |
+#line 547 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_TAG); } |
break; |
case 75: |
-#line 543 "ada-exp.y" |
+#line 549 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_MIN); } |
break; |
case 76: |
-#line 545 "ada-exp.y" |
+#line 551 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_MAX); } |
break; |
case 77: |
-#line 547 "ada-exp.y" |
+#line 553 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_POS); } |
break; |
case 78: |
-#line 549 "ada-exp.y" |
+#line 555 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_VAL); } |
break; |
case 79: |
-#line 551 "ada-exp.y" |
+#line 557 "ada-exp.y" |
{ write_exp_elt_opcode (OP_ATR_MODULUS); } |
break; |
case 80: |
-#line 555 "ada-exp.y" |
+#line 561 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 81: |
-#line 557 "ada-exp.y" |
+#line 563 "ada-exp.y" |
{ yyval.lval = yyvsp[-1].typed_val.val; } |
break; |
case 82: |
-#line 562 "ada-exp.y" |
+#line 568 "ada-exp.y" |
{ |
if (yyvsp[0].tval == NULL) |
error (_("Prefix must be type")); |
@@ -1957,19 +1963,19 @@ yyreduce: |
break; |
case 84: |
-#line 573 "ada-exp.y" |
+#line 579 "ada-exp.y" |
{ write_exp_elt_opcode (OP_TYPE); |
write_exp_elt_type (parse_type->builtin_void); |
write_exp_elt_opcode (OP_TYPE); } |
break; |
case 85: |
-#line 580 "ada-exp.y" |
+#line 586 "ada-exp.y" |
{ write_int ((LONGEST) yyvsp[0].typed_val.val, yyvsp[0].typed_val.type); } |
break; |
case 86: |
-#line 584 "ada-exp.y" |
+#line 590 "ada-exp.y" |
{ write_int (convert_char_literal (type_qualifier, yyvsp[0].typed_val.val), |
(type_qualifier == NULL) |
? yyvsp[0].typed_val.type : type_qualifier); |
@@ -1977,7 +1983,7 @@ yyreduce: |
break; |
case 87: |
-#line 591 "ada-exp.y" |
+#line 597 "ada-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); |
@@ -1986,44 +1992,44 @@ yyreduce: |
break; |
case 88: |
-#line 599 "ada-exp.y" |
+#line 605 "ada-exp.y" |
{ write_int (0, type_int ()); } |
break; |
case 89: |
-#line 603 "ada-exp.y" |
+#line 609 "ada-exp.y" |
{ |
write_exp_op_with_string (OP_STRING, yyvsp[0].sval); |
} |
break; |
case 90: |
-#line 609 "ada-exp.y" |
+#line 615 "ada-exp.y" |
{ write_int (1, type_boolean ()); } |
break; |
case 91: |
-#line 611 "ada-exp.y" |
+#line 617 "ada-exp.y" |
{ write_int (0, type_boolean ()); } |
break; |
case 92: |
-#line 615 "ada-exp.y" |
+#line 621 "ada-exp.y" |
{ error (_("NEW not implemented.")); } |
break; |
case 93: |
-#line 619 "ada-exp.y" |
+#line 625 "ada-exp.y" |
{ yyval.tval = write_var_or_type (NULL, yyvsp[0].sval); } |
break; |
case 94: |
-#line 621 "ada-exp.y" |
+#line 627 "ada-exp.y" |
{ yyval.tval = write_var_or_type (yyvsp[-1].bval, yyvsp[0].sval); } |
break; |
case 95: |
-#line 623 "ada-exp.y" |
+#line 629 "ada-exp.y" |
{ |
yyval.tval = write_var_or_type (NULL, yyvsp[-1].sval); |
if (yyval.tval == NULL) |
@@ -2034,7 +2040,7 @@ yyreduce: |
break; |
case 96: |
-#line 631 "ada-exp.y" |
+#line 637 "ada-exp.y" |
{ |
yyval.tval = write_var_or_type (yyvsp[-2].bval, yyvsp[-1].sval); |
if (yyval.tval == NULL) |
@@ -2045,17 +2051,17 @@ yyreduce: |
break; |
case 97: |
-#line 642 "ada-exp.y" |
+#line 648 "ada-exp.y" |
{ yyval.bval = block_lookup (NULL, yyvsp[-1].sval.ptr); } |
break; |
case 98: |
-#line 644 "ada-exp.y" |
+#line 650 "ada-exp.y" |
{ yyval.bval = block_lookup (yyvsp[-2].bval, yyvsp[-1].sval.ptr); } |
break; |
case 99: |
-#line 649 "ada-exp.y" |
+#line 655 "ada-exp.y" |
{ |
write_exp_elt_opcode (OP_AGGREGATE); |
write_exp_elt_longcst (yyvsp[-1].lval); |
@@ -2064,12 +2070,12 @@ yyreduce: |
break; |
case 100: |
-#line 657 "ada-exp.y" |
+#line 663 "ada-exp.y" |
{ yyval.lval = yyvsp[0].lval; } |
break; |
case 101: |
-#line 659 "ada-exp.y" |
+#line 665 "ada-exp.y" |
{ write_exp_elt_opcode (OP_POSITIONAL); |
write_exp_elt_longcst (yyvsp[-1].lval); |
write_exp_elt_opcode (OP_POSITIONAL); |
@@ -2078,12 +2084,12 @@ yyreduce: |
break; |
case 102: |
-#line 665 "ada-exp.y" |
+#line 671 "ada-exp.y" |
{ yyval.lval = yyvsp[-1].lval + yyvsp[0].lval; } |
break; |
case 103: |
-#line 670 "ada-exp.y" |
+#line 676 "ada-exp.y" |
{ write_exp_elt_opcode (OP_POSITIONAL); |
write_exp_elt_longcst (0); |
write_exp_elt_opcode (OP_POSITIONAL); |
@@ -2092,7 +2098,7 @@ yyreduce: |
break; |
case 104: |
-#line 676 "ada-exp.y" |
+#line 682 "ada-exp.y" |
{ write_exp_elt_opcode (OP_POSITIONAL); |
write_exp_elt_longcst (yyvsp[-2].lval); |
write_exp_elt_opcode (OP_POSITIONAL); |
@@ -2101,27 +2107,27 @@ yyreduce: |
break; |
case 105: |
-#line 684 "ada-exp.y" |
+#line 690 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 106: |
-#line 685 "ada-exp.y" |
+#line 691 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 107: |
-#line 687 "ada-exp.y" |
+#line 693 "ada-exp.y" |
{ yyval.lval = yyvsp[0].lval + 1; } |
break; |
case 108: |
-#line 691 "ada-exp.y" |
+#line 697 "ada-exp.y" |
{ write_exp_elt_opcode (OP_OTHERS); } |
break; |
case 109: |
-#line 696 "ada-exp.y" |
+#line 702 "ada-exp.y" |
{ |
write_exp_elt_opcode (OP_CHOICES); |
write_exp_elt_longcst (yyvsp[0].lval); |
@@ -2130,69 +2136,69 @@ yyreduce: |
break; |
case 110: |
-#line 710 "ada-exp.y" |
+#line 716 "ada-exp.y" |
{ write_name_assoc (yyvsp[-1].sval); } |
break; |
case 111: |
-#line 711 "ada-exp.y" |
+#line 717 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 112: |
-#line 713 "ada-exp.y" |
+#line 719 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 113: |
-#line 715 "ada-exp.y" |
+#line 721 "ada-exp.y" |
{ write_exp_elt_opcode (OP_DISCRETE_RANGE); |
write_exp_op_with_string (OP_NAME, empty_stoken); |
} |
break; |
case 114: |
-#line 718 "ada-exp.y" |
+#line 724 "ada-exp.y" |
{ yyval.lval = 1; } |
break; |
case 115: |
-#line 720 "ada-exp.y" |
+#line 726 "ada-exp.y" |
{ write_name_assoc (yyvsp[-1].sval); } |
break; |
case 116: |
-#line 721 "ada-exp.y" |
+#line 727 "ada-exp.y" |
{ yyval.lval = yyvsp[0].lval + 1; } |
break; |
case 117: |
-#line 723 "ada-exp.y" |
+#line 729 "ada-exp.y" |
{ yyval.lval = yyvsp[0].lval + 1; } |
break; |
case 118: |
-#line 725 "ada-exp.y" |
+#line 731 "ada-exp.y" |
{ write_exp_elt_opcode (OP_DISCRETE_RANGE); } |
break; |
case 119: |
-#line 726 "ada-exp.y" |
+#line 732 "ada-exp.y" |
{ yyval.lval = yyvsp[0].lval + 1; } |
break; |
case 120: |
-#line 733 "ada-exp.y" |
+#line 739 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_IND); } |
break; |
case 121: |
-#line 735 "ada-exp.y" |
+#line 741 "ada-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); } |
break; |
case 122: |
-#line 737 "ada-exp.y" |
+#line 743 "ada-exp.y" |
{ write_exp_elt_opcode (BINOP_SUBSCRIPT); } |
break; |
@@ -2200,7 +2206,7 @@ yyreduce: |
} |
/* Line 1000 of yacc.c. */ |
-#line 2204 "ada-exp.c" |
+#line 2210 "ada-exp.c" |
yyvsp -= yylen; |
yyssp -= yylen; |
@@ -2425,7 +2431,7 @@ yyreturn: |
} |
-#line 740 "ada-exp.y" |
+#line 746 "ada-exp.y" |
/* yylex defined in ada-lex.c: Reads one token, getting characters */ |
@@ -2556,8 +2562,7 @@ write_object_renaming (struct block *orig_left_context, |
{ |
char *name; |
enum { SIMPLE_INDEX, LOWER_BOUND, UPPER_BOUND } slice_state; |
- struct symbol *sym; |
- struct block *block; |
+ struct ada_symbol_info sym_info; |
if (max_depth <= 0) |
error (_("Could not find renamed symbol")); |
@@ -2566,29 +2571,28 @@ write_object_renaming (struct block *orig_left_context, |
orig_left_context = get_selected_block (NULL); |
name = obsavestring (renamed_entity, renamed_entity_len, &temp_parse_space); |
- sym = ada_lookup_encoded_symbol (name, orig_left_context, VAR_DOMAIN, |
- &block); |
- if (sym == NULL) |
+ ada_lookup_encoded_symbol (name, orig_left_context, VAR_DOMAIN, &sym_info); |
+ if (sym_info.sym == NULL) |
error (_("Could not find renamed variable: %s"), ada_decode (name)); |
- else if (SYMBOL_CLASS (sym) == LOC_TYPEDEF) |
+ else if (SYMBOL_CLASS (sym_info.sym) == LOC_TYPEDEF) |
/* We have a renaming of an old-style renaming symbol. Don't |
trust the block information. */ |
- block = orig_left_context; |
+ sym_info.block = orig_left_context; |
{ |
const char *inner_renamed_entity; |
int inner_renamed_entity_len; |
const char *inner_renaming_expr; |
- switch (ada_parse_renaming (sym, &inner_renamed_entity, |
+ switch (ada_parse_renaming (sym_info.sym, &inner_renamed_entity, |
&inner_renamed_entity_len, |
&inner_renaming_expr)) |
{ |
case ADA_NOT_RENAMING: |
- write_var_from_sym (orig_left_context, block, sym); |
+ write_var_from_sym (orig_left_context, sym_info.block, sym_info.sym); |
break; |
case ADA_OBJECT_RENAMING: |
- write_object_renaming (block, |
+ write_object_renaming (sym_info.block, |
inner_renamed_entity, inner_renamed_entity_len, |
inner_renaming_expr, max_depth - 1); |
break; |
@@ -2628,7 +2632,7 @@ write_object_renaming (struct block *orig_left_context, |
{ |
const char *end; |
char *index_name; |
- struct symbol *index_sym; |
+ struct ada_symbol_info index_sym_info; |
end = strchr (renaming_expr, 'X'); |
if (end == NULL) |
@@ -2639,14 +2643,15 @@ write_object_renaming (struct block *orig_left_context, |
&temp_parse_space); |
renaming_expr = end; |
- index_sym = ada_lookup_encoded_symbol (index_name, NULL, |
- VAR_DOMAIN, &block); |
- if (index_sym == NULL) |
+ ada_lookup_encoded_symbol (index_name, NULL, VAR_DOMAIN, |
+ &index_sym_info); |
+ if (index_sym_info.sym == NULL) |
error (_("Could not find %s"), index_name); |
- else if (SYMBOL_CLASS (index_sym) == LOC_TYPEDEF) |
+ else if (SYMBOL_CLASS (index_sym_info.sym) == LOC_TYPEDEF) |
/* Index is an old-style renaming symbol. */ |
- block = orig_left_context; |
- write_var_from_sym (NULL, block, index_sym); |
+ index_sym_info.block = orig_left_context; |
+ write_var_from_sym (NULL, index_sym_info.block, |
+ index_sym_info.sym); |
} |
if (slice_state == SIMPLE_INDEX) |
{ |
@@ -2710,7 +2715,7 @@ block_lookup (struct block *context, char *raw_name) |
else |
name = ada_encode (raw_name); |
- nsyms = ada_lookup_symbol_list (name, context, VAR_DOMAIN, &syms); |
+ nsyms = ada_lookup_symbol_list (name, context, VAR_DOMAIN, &syms, 1); |
if (context == NULL |
&& (nsyms == 0 || SYMBOL_CLASS (syms[0].sym) != LOC_BLOCK)) |
symtab = lookup_symtab (name); |
@@ -2967,7 +2972,7 @@ write_var_or_type (struct block *block, struct stoken name0) |
encoded_name[tail_index] = '\0'; |
nsyms = ada_lookup_symbol_list (encoded_name, block, |
- VAR_DOMAIN, &syms); |
+ VAR_DOMAIN, &syms, 1); |
encoded_name[tail_index] = terminator; |
/* A single symbol may rename a package or object. */ |
@@ -2977,8 +2982,7 @@ write_var_or_type (struct block *block, struct stoken name0) |
if (nsyms == 1) |
{ |
struct symbol *ren_sym = |
- ada_find_renaming_symbol (SYMBOL_LINKAGE_NAME (syms[0].sym), |
- syms[0].block); |
+ ada_find_renaming_symbol (syms[0].sym, syms[0].block); |
if (ren_sym != NULL) |
syms[0].sym = ren_sym; |
@@ -3116,7 +3120,7 @@ write_name_assoc (struct stoken name) |
{ |
struct ada_symbol_info *syms; |
int nsyms = ada_lookup_symbol_list (name.ptr, expression_context_block, |
- VAR_DOMAIN, &syms); |
+ VAR_DOMAIN, &syms, 1); |
if (nsyms != 1 || SYMBOL_CLASS (syms[0].sym) == LOC_TYPEDEF) |
write_exp_op_with_string (OP_NAME, name); |
else |
@@ -3148,7 +3152,7 @@ convert_char_literal (struct type *type, LONGEST val) |
for (f = 0; f < TYPE_NFIELDS (type); f += 1) |
{ |
if (strcmp (name, TYPE_FIELD_NAME (type, f)) == 0) |
- return TYPE_FIELD_BITPOS (type, f); |
+ return TYPE_FIELD_ENUMVAL (type, f); |
} |
return val; |
} |