1 /* A Bison parser, made by GNU Bison 2.1. */
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
26 /* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
29 /* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
36 /* Identify Bison output. */
40 #define YYBISON_VERSION "2.1"
43 #define YYSKELETON_NAME "yacc.c"
48 /* Using locations. */
49 #define YYLSP_NEEDED 0
51 /* Substitute the variable and function names. */
52 #define yyparse Upgradeparse
53 #define yylex Upgradelex
54 #define yyerror Upgradeerror
55 #define yylval Upgradelval
56 #define yychar Upgradechar
57 #define yydebug Upgradedebug
58 #define yynerrs Upgradenerrs
64 /* Put the tokens into the symbol table, so that GDB and other debuggers
88 ZEROINITIALIZER = 279,
133 X86_STDCALLCC_TOK = 324,
134 X86_FASTCALLCC_TOK = 325,
172 EXTRACTELEMENT = 363,
193 #define ESINT64VAL 272
194 #define EUINT64VAL 273
200 #define ZEROINITIALIZER 279
206 #define STRINGCONSTANT 285
207 #define IMPLEMENTATION 286
216 #define DOTDOTDOT 295
221 #define DLLIMPORT 300
222 #define DLLEXPORT 301
223 #define EXTERN_WEAK 302
224 #define APPENDING 303
230 #define POINTERSIZE 309
239 #define SIDEEFFECT 318
242 #define CSRETCC_TOK 321
243 #define FASTCC_TOK 322
244 #define COLDCC_TOK 323
245 #define X86_STDCALLCC_TOK 324
246 #define X86_FASTCALLCC_TOK 325
247 #define DATALAYOUT 326
253 #define UNREACHABLE 332
277 #define GETELEMENTPTR 356
284 #define EXTRACTELEMENT 363
285 #define INSERTELEMENT 364
286 #define SHUFFLEVECTOR 365
292 /* Copy the first part of user declarations. */
293 #line 14 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
295 #include "ParserInternals.h"
296 #include <llvm/ADT/StringExtras.h>
302 #define YYERROR_VERBOSE 1
303 #define YYINCLUDED_STDLIB_H
306 int yylex(); // declaration" of xxx warnings.
310 static std::string CurFilename;
311 static std::ostream *O = 0;
312 std::istream* LexInput = 0;
313 unsigned SizeOfPointer = 32;
315 void UpgradeAssembly(const std::string &infile, std::istream& in,
316 std::ostream &out, bool debug)
319 CurFilename = infile;
325 std::cerr << "Parse failed.\n";
330 const char* getCastOpcode(TypeInfo& SrcTy, TypeInfo&DstTy) {
331 unsigned SrcBits = SrcTy.getBitWidth();
332 unsigned DstBits = DstTy.getBitWidth();
333 const char* opcode = "bitcast";
334 // Run through the possibilities ...
335 if (DstTy.isIntegral()) { // Casting to integral
336 if (SrcTy.isIntegral()) { // Casting from integral
337 if (DstBits < SrcBits)
339 else if (DstBits > SrcBits) { // its an extension
340 if (SrcTy.isSigned())
341 opcode ="sext"; // signed -> SEXT
343 opcode = "zext"; // unsigned -> ZEXT
345 opcode = "bitcast"; // Same size, No-op cast
347 } else if (SrcTy.isFloatingPoint()) { // Casting from floating pt
348 if (DstTy.isSigned())
349 opcode = "fptosi"; // FP -> sint
351 opcode = "fptoui"; // FP -> uint
352 } else if (SrcTy.isPacked()) {
353 assert(DstBits == SrcTy.getBitWidth() &&
354 "Casting packed to integer of different width");
355 opcode = "bitcast"; // same size, no-op cast
357 assert(SrcTy.isPointer() &&
358 "Casting from a value that is not first-class type");
359 opcode = "ptrtoint"; // ptr -> int
361 } else if (DstTy.isFloatingPoint()) { // Casting to floating pt
362 if (SrcTy.isIntegral()) { // Casting from integral
363 if (SrcTy.isSigned())
364 opcode = "sitofp"; // sint -> FP
366 opcode = "uitofp"; // uint -> FP
367 } else if (SrcTy.isFloatingPoint()) { // Casting from floating pt
368 if (DstBits < SrcBits) {
369 opcode = "fptrunc"; // FP -> smaller FP
370 } else if (DstBits > SrcBits) {
371 opcode = "fpext"; // FP -> larger FP
373 opcode ="bitcast"; // same size, no-op cast
375 } else if (SrcTy.isPacked()) {
376 assert(DstBits == SrcTy.getBitWidth() &&
377 "Casting packed to floating point of different width");
378 opcode = "bitcast"; // same size, no-op cast
380 assert(0 && "Casting pointer or non-first class to float");
382 } else if (DstTy.isPacked()) {
383 if (SrcTy.isPacked()) {
384 assert(DstTy.getBitWidth() == SrcTy.getBitWidth() &&
385 "Casting packed to packed of different widths");
386 opcode = "bitcast"; // packed -> packed
387 } else if (DstTy.getBitWidth() == SrcBits) {
388 opcode = "bitcast"; // float/int -> packed
390 assert(!"Illegal cast to packed (wrong type or size)");
392 } else if (DstTy.isPointer()) {
393 if (SrcTy.isPointer()) {
394 opcode = "bitcast"; // ptr -> ptr
395 } else if (SrcTy.isIntegral()) {
396 opcode = "inttoptr"; // int -> ptr
398 assert(!"Casting pointer to other than pointer or int");
401 assert(!"Casting to type that is not first-class");
408 /* Enabling traces. */
413 /* Enabling verbose error messages. */
414 #ifdef YYERROR_VERBOSE
415 # undef YYERROR_VERBOSE
416 # define YYERROR_VERBOSE 1
418 # define YYERROR_VERBOSE 0
421 /* Enabling the token table. */
422 #ifndef YYTOKEN_TABLE
423 # define YYTOKEN_TABLE 0
426 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
427 #line 130 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
428 typedef union YYSTYPE {
434 /* Line 196 of yacc.c. */
435 #line 436 "UpgradeParser.tab.c"
436 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
437 # define YYSTYPE_IS_DECLARED 1
438 # define YYSTYPE_IS_TRIVIAL 1
443 /* Copy the second part of user declarations. */
446 /* Line 219 of yacc.c. */
447 #line 448 "UpgradeParser.tab.c"
449 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
450 # define YYSIZE_T __SIZE_TYPE__
452 #if ! defined (YYSIZE_T) && defined (size_t)
453 # define YYSIZE_T size_t
455 #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
456 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
457 # define YYSIZE_T size_t
459 #if ! defined (YYSIZE_T)
460 # define YYSIZE_T unsigned int
466 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
467 # define YY_(msgid) dgettext ("bison-runtime", msgid)
471 # define YY_(msgid) msgid
475 #if ! defined (yyoverflow) || YYERROR_VERBOSE
477 /* The parser invokes alloca or malloc; define the necessary symbols. */
479 # ifdef YYSTACK_USE_ALLOCA
480 # if YYSTACK_USE_ALLOCA
482 # define YYSTACK_ALLOC __builtin_alloca
484 # define YYSTACK_ALLOC alloca
485 # if defined (__STDC__) || defined (__cplusplus)
486 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
487 # define YYINCLUDED_STDLIB_H
493 # ifdef YYSTACK_ALLOC
494 /* Pacify GCC's `empty if-body' warning. */
495 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
496 # ifndef YYSTACK_ALLOC_MAXIMUM
497 /* The OS might guarantee only one guard page at the bottom of the stack,
498 and a page size can be as small as 4096 bytes. So we cannot safely
499 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
500 to allow for a few compiler-allocated temporary stack slots. */
501 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
504 # define YYSTACK_ALLOC YYMALLOC
505 # define YYSTACK_FREE YYFREE
506 # ifndef YYSTACK_ALLOC_MAXIMUM
507 # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
513 # define YYMALLOC malloc
514 # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
515 && (defined (__STDC__) || defined (__cplusplus)))
516 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
521 # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
522 && (defined (__STDC__) || defined (__cplusplus)))
523 void free (void *); /* INFRINGES ON USER NAME SPACE */
530 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
533 #if (! defined (yyoverflow) \
534 && (! defined (__cplusplus) \
535 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
537 /* A type that is properly aligned for any stack member. */
544 /* The size of the maximum gap between one aligned stack and the next. */
545 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
547 /* The size of an array large to enough to hold all stacks, each with
549 # define YYSTACK_BYTES(N) \
550 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
551 + YYSTACK_GAP_MAXIMUM)
553 /* Copy COUNT objects from FROM to TO. The source and destination do
556 # if defined (__GNUC__) && 1 < __GNUC__
557 # define YYCOPY(To, From, Count) \
558 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
560 # define YYCOPY(To, From, Count) \
564 for (yyi = 0; yyi < (Count); yyi++) \
565 (To)[yyi] = (From)[yyi]; \
571 /* Relocate STACK from its old location to the new one. The
572 local variables YYSIZE and YYSTACKSIZE give the old and new number of
573 elements in the stack, and YYPTR gives the new location of the
574 stack. Advance YYPTR to a properly aligned location for the next
576 # define YYSTACK_RELOCATE(Stack) \
579 YYSIZE_T yynewbytes; \
580 YYCOPY (&yyptr->Stack, Stack, yysize); \
581 Stack = &yyptr->Stack; \
582 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
583 yyptr += yynewbytes / sizeof (*yyptr); \
589 #if defined (__STDC__) || defined (__cplusplus)
590 typedef signed char yysigned_char;
592 typedef short int yysigned_char;
595 /* YYFINAL -- State number of the termination state. */
597 /* YYLAST -- Last index in YYTABLE. */
600 /* YYNTOKENS -- Number of terminals. */
601 #define YYNTOKENS 126
602 /* YYNNTS -- Number of nonterminals. */
604 /* YYNRULES -- Number of rules. */
606 /* YYNRULES -- Number of states. */
607 #define YYNSTATES 508
609 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
611 #define YYMAXUTOK 366
613 #define YYTRANSLATE(YYX) \
614 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
616 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
617 static const unsigned char yytranslate[] =
619 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
620 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
621 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
622 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
623 115, 116, 124, 2, 113, 2, 2, 2, 2, 2,
624 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
625 120, 112, 121, 2, 2, 2, 2, 2, 2, 2,
626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
628 2, 117, 114, 119, 2, 2, 2, 2, 2, 125,
629 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
630 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
631 118, 2, 2, 122, 2, 123, 2, 2, 2, 2,
632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
645 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
646 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
647 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
648 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
649 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
650 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
651 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
652 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
653 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
654 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
655 105, 106, 107, 108, 109, 110, 111
659 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
661 static const unsigned short int yyprhs[] =
663 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
664 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
665 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
666 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
667 80, 81, 83, 85, 87, 89, 91, 93, 95, 96,
668 98, 100, 102, 104, 106, 108, 111, 112, 113, 116,
669 117, 121, 124, 125, 127, 128, 132, 134, 137, 139,
670 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
671 161, 163, 165, 167, 169, 171, 173, 175, 177, 180,
672 185, 191, 197, 201, 204, 207, 209, 213, 215, 219,
673 221, 222, 227, 231, 235, 240, 245, 249, 252, 255,
674 258, 261, 264, 267, 270, 273, 276, 279, 286, 292,
675 301, 308, 315, 322, 329, 336, 345, 354, 358, 360,
676 362, 364, 366, 369, 372, 377, 380, 382, 387, 390,
677 395, 402, 409, 416, 423, 427, 432, 433, 435, 437,
678 439, 443, 447, 451, 455, 459, 463, 465, 466, 468,
679 470, 472, 473, 476, 480, 482, 484, 488, 490, 491,
680 500, 502, 504, 508, 510, 512, 516, 517, 519, 521,
681 525, 526, 528, 530, 532, 534, 536, 538, 540, 542,
682 544, 548, 550, 556, 558, 560, 562, 564, 567, 570,
683 572, 575, 578, 579, 581, 584, 587, 591, 601, 611,
684 620, 635, 637, 639, 646, 652, 655, 662, 670, 672,
685 676, 678, 679, 682, 684, 690, 696, 702, 705, 710,
686 715, 722, 727, 732, 739, 746, 749, 757, 759, 762,
687 763, 765, 766, 770, 777, 781, 788, 791, 796, 803
690 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
691 static const short int yyrhs[] =
693 157, 0, -1, 19, -1, 20, -1, 17, -1, 18,
694 -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
695 -1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
696 -1, 88, -1, 89, -1, 90, -1, 91, -1, 92,
697 -1, 93, -1, 94, -1, 95, -1, 104, -1, 105,
698 -1, 106, -1, 11, -1, 9, -1, 7, -1, 5,
699 -1, 12, -1, 10, -1, 8, -1, 6, -1, 133,
700 -1, 134, -1, 13, -1, 14, -1, 165, 112, -1,
701 -1, 42, -1, 43, -1, 44, -1, 48, -1, 45,
702 -1, 46, -1, 47, -1, -1, 65, -1, 66, -1,
703 67, -1, 68, -1, 69, -1, 70, -1, 64, 18,
704 -1, -1, -1, 57, 18, -1, -1, 113, 57, 18,
705 -1, 37, 30, -1, -1, 142, -1, -1, 113, 145,
706 144, -1, 142, -1, 57, 18, -1, 148, -1, 3,
707 -1, 150, -1, 3, -1, 150, -1, 4, -1, 5,
708 -1, 6, -1, 7, -1, 8, -1, 9, -1, 10,
709 -1, 11, -1, 12, -1, 13, -1, 14, -1, 15,
710 -1, 16, -1, 149, -1, 179, -1, 114, 18, -1,
711 147, 115, 152, 116, -1, 117, 18, 118, 150, 119,
712 -1, 120, 18, 118, 150, 121, -1, 122, 151, 123,
713 -1, 122, 123, -1, 150, 124, -1, 150, -1, 151,
714 113, 150, -1, 151, -1, 151, 113, 40, -1, 40,
715 -1, -1, 148, 117, 155, 119, -1, 148, 117, 119,
716 -1, 148, 125, 30, -1, 148, 120, 155, 121, -1,
717 148, 122, 155, 123, -1, 148, 122, 123, -1, 148,
718 22, -1, 148, 23, -1, 148, 179, -1, 148, 154,
719 -1, 148, 24, -1, 133, 128, -1, 134, 18, -1,
720 4, 25, -1, 4, 26, -1, 136, 21, -1, 111,
721 115, 153, 39, 148, 116, -1, 101, 115, 153, 193,
722 116, -1, 103, 115, 153, 113, 153, 113, 153, 116,
723 -1, 129, 115, 153, 113, 153, 116, -1, 130, 115,
724 153, 113, 153, 116, -1, 131, 115, 153, 113, 153,
725 116, -1, 132, 115, 153, 113, 153, 116, -1, 108,
726 115, 153, 113, 153, 116, -1, 109, 115, 153, 113,
727 153, 113, 153, 116, -1, 110, 115, 153, 113, 153,
728 113, 153, 116, -1, 155, 113, 153, -1, 153, -1,
729 35, -1, 36, -1, 158, -1, 158, 174, -1, 158,
730 176, -1, 158, 62, 61, 160, -1, 158, 31, -1,
731 159, -1, 159, 137, 27, 146, -1, 159, 176, -1,
732 159, 62, 61, 160, -1, 159, 137, 138, 156, 153,
733 144, -1, 159, 137, 50, 156, 148, 144, -1, 159,
734 137, 45, 156, 148, 144, -1, 159, 137, 47, 156,
735 148, 144, -1, 159, 51, 162, -1, 159, 58, 112,
736 163, -1, -1, 30, -1, 56, -1, 55, -1, 53,
737 112, 161, -1, 54, 112, 18, -1, 52, 112, 30,
738 -1, 71, 112, 30, -1, 117, 164, 119, -1, 164,
739 113, 30, -1, 30, -1, -1, 28, -1, 30, -1,
740 165, -1, -1, 148, 166, -1, 168, 113, 167, -1,
741 167, -1, 168, -1, 168, 113, 40, -1, 40, -1,
742 -1, 139, 146, 165, 115, 169, 116, 143, 140, -1,
743 32, -1, 122, -1, 138, 170, 171, -1, 33, -1,
744 123, -1, 172, 182, 173, -1, -1, 45, -1, 47,
745 -1, 34, 175, 170, -1, -1, 63, -1, 17, -1,
746 18, -1, 21, -1, 25, -1, 26, -1, 22, -1,
747 23, -1, 24, -1, 120, 155, 121, -1, 154, -1,
748 61, 177, 30, 113, 30, -1, 127, -1, 165, -1,
749 179, -1, 178, -1, 148, 180, -1, 182, 183, -1,
750 183, -1, 184, 185, -1, 184, 187, -1, -1, 29,
751 -1, 72, 181, -1, 72, 3, -1, 73, 15, 180,
752 -1, 73, 4, 180, 113, 15, 180, 113, 15, 180,
753 -1, 74, 135, 180, 113, 15, 180, 117, 186, 119,
754 -1, 74, 135, 180, 113, 15, 180, 117, 119, -1,
755 137, 75, 139, 146, 180, 115, 190, 116, 39, 15,
756 180, 76, 15, 180, -1, 76, -1, 77, -1, 186,
757 135, 178, 113, 15, 180, -1, 135, 178, 113, 15,
758 180, -1, 137, 192, -1, 148, 117, 180, 113, 180,
759 119, -1, 188, 113, 117, 180, 113, 180, 119, -1,
760 181, -1, 189, 113, 181, -1, 189, -1, -1, 60,
761 59, -1, 59, -1, 129, 148, 180, 113, 180, -1,
762 130, 148, 180, 113, 180, -1, 131, 148, 180, 113,
763 180, -1, 49, 181, -1, 132, 181, 113, 181, -1,
764 111, 181, 39, 148, -1, 103, 181, 113, 181, 113,
765 181, -1, 107, 181, 113, 148, -1, 108, 181, 113,
766 181, -1, 109, 181, 113, 181, 113, 181, -1, 110,
767 181, 113, 181, 113, 181, -1, 102, 188, -1, 191,
768 139, 146, 180, 115, 190, 116, -1, 195, -1, 113,
769 189, -1, -1, 38, -1, -1, 96, 148, 141, -1,
770 96, 148, 113, 10, 180, 141, -1, 97, 148, 141,
771 -1, 97, 148, 113, 10, 180, 141, -1, 98, 181,
772 -1, 194, 99, 148, 180, -1, 194, 100, 181, 113,
773 148, 180, -1, 101, 148, 180, 193, -1
776 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
777 static const unsigned short int yyrline[] =
779 0, 188, 188, 188, 189, 189, 193, 193, 193, 193,
780 193, 193, 193, 193, 193, 194, 194, 194, 195, 195,
781 195, 195, 195, 195, 196, 196, 196, 200, 200, 200,
782 200, 201, 201, 201, 201, 202, 202, 203, 203, 206,
783 210, 215, 215, 215, 215, 215, 215, 216, 217, 220,
784 220, 220, 220, 220, 221, 222, 227, 232, 233, 236,
785 237, 245, 251, 252, 255, 256, 265, 266, 279, 279,
786 280, 280, 281, 285, 285, 285, 285, 285, 285, 285,
787 286, 286, 286, 286, 286, 287, 287, 288, 294, 299,
788 305, 312, 319, 325, 329, 339, 342, 350, 351, 356,
789 359, 369, 375, 380, 386, 392, 398, 403, 409, 415,
790 421, 427, 433, 439, 445, 451, 457, 465, 472, 478,
791 483, 488, 493, 498, 503, 508, 513, 523, 528, 533,
792 533, 543, 548, 551, 556, 560, 564, 567, 572, 577,
793 582, 588, 594, 600, 606, 611, 616, 621, 623, 623,
794 626, 631, 638, 643, 650, 657, 662, 663, 671, 671,
795 672, 672, 674, 681, 685, 689, 692, 697, 700, 702,
796 722, 725, 729, 738, 739, 741, 749, 750, 751, 755,
797 768, 769, 772, 772, 772, 772, 772, 772, 772, 773,
798 774, 779, 780, 789, 789, 792, 792, 798, 805, 808,
799 816, 820, 825, 828, 834, 839, 844, 849, 856, 862,
800 868, 881, 886, 892, 897, 905, 912, 918, 926, 927,
801 935, 936, 940, 945, 948, 953, 958, 963, 968, 973,
802 980, 985, 990, 995, 1000, 1005, 1010, 1019, 1024, 1028,
803 1032, 1033, 1036, 1043, 1050, 1057, 1064, 1069, 1076, 1083
807 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
808 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
809 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
810 static const char *const yytname[] =
812 "$end", "error", "$undefined", "VOID", "BOOL", "SBYTE", "UBYTE",
813 "SHORT", "USHORT", "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE",
814 "LABEL", "OPAQUE", "ESINT64VAL", "EUINT64VAL", "SINTVAL", "UINTVAL",
815 "FPVAL", "NULL_TOK", "UNDEF", "ZEROINITIALIZER", "TRUETOK", "FALSETOK",
816 "TYPE", "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
817 "BEGINTOK", "ENDTOK", "DECLARE", "GLOBAL", "CONSTANT", "SECTION",
818 "VOLATILE", "TO", "DOTDOTDOT", "CONST", "INTERNAL", "LINKONCE", "WEAK",
819 "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "APPENDING", "NOT", "EXTERNAL",
820 "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", "BIG", "ALIGN",
821 "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", "SIDEEFFECT", "CC_TOK",
822 "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", "COLDCC_TOK",
823 "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", "RET", "BR",
824 "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "UDIV",
825 "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", "XOR", "SETLE",
826 "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE",
827 "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "SELECT", "SHL", "LSHR",
828 "ASHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR",
829 "CAST", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'",
830 "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "IntVal", "EInt64Val",
831 "ArithmeticOps", "LogicalOps", "SetCondOps", "ShiftOps", "SIntType",
832 "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
833 "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
834 "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
835 "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
836 "ConstExpr", "ConstVector", "GlobalType", "Module", "DefinitionList",
837 "ConstPool", "AsmBlock", "BigOrLittle", "TargetDefinition",
838 "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal",
839 "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader",
840 "END", "Function", "FnDeclareLinkage", "FunctionProto", "OptSideEffect",
841 "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal",
842 "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst",
843 "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE",
844 "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0
849 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
851 static const unsigned short int yytoknum[] =
853 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
854 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
855 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
856 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
857 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
858 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
859 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
860 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
861 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
862 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
863 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
864 365, 366, 61, 44, 92, 40, 41, 91, 120, 93,
865 60, 62, 123, 125, 42, 99
869 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
870 static const unsigned char yyr1[] =
872 0, 126, 127, 127, 128, 128, 129, 129, 129, 129,
873 129, 129, 129, 129, 129, 130, 130, 130, 131, 131,
874 131, 131, 131, 131, 132, 132, 132, 133, 133, 133,
875 133, 134, 134, 134, 134, 135, 135, 136, 136, 137,
876 137, 138, 138, 138, 138, 138, 138, 138, 138, 139,
877 139, 139, 139, 139, 139, 139, 139, 140, 140, 141,
878 141, 142, 143, 143, 144, 144, 145, 145, 146, 146,
879 147, 147, 148, 149, 149, 149, 149, 149, 149, 149,
880 149, 149, 149, 149, 149, 150, 150, 150, 150, 150,
881 150, 150, 150, 150, 150, 151, 151, 152, 152, 152,
882 152, 153, 153, 153, 153, 153, 153, 153, 153, 153,
883 153, 153, 153, 153, 153, 153, 153, 154, 154, 154,
884 154, 154, 154, 154, 154, 154, 154, 155, 155, 156,
885 156, 157, 158, 158, 158, 158, 158, 159, 159, 159,
886 159, 159, 159, 159, 159, 159, 159, 160, 161, 161,
887 162, 162, 162, 162, 163, 164, 164, 164, 165, 165,
888 166, 166, 167, 168, 168, 169, 169, 169, 169, 170,
889 171, 171, 172, 173, 173, 174, 175, 175, 175, 176,
890 177, 177, 178, 178, 178, 178, 178, 178, 178, 178,
891 178, 178, 178, 179, 179, 180, 180, 181, 182, 182,
892 183, 184, 184, 184, 185, 185, 185, 185, 185, 185,
893 185, 185, 185, 186, 186, 187, 188, 188, 189, 189,
894 190, 190, 191, 191, 192, 192, 192, 192, 192, 192,
895 192, 192, 192, 192, 192, 192, 192, 192, 193, 193,
896 194, 194, 195, 195, 195, 195, 195, 195, 195, 195
899 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
900 static const unsigned char yyr2[] =
902 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
903 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
904 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
905 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
906 0, 1, 1, 1, 1, 1, 1, 1, 0, 1,
907 1, 1, 1, 1, 1, 2, 0, 0, 2, 0,
908 3, 2, 0, 1, 0, 3, 1, 2, 1, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
911 5, 5, 3, 2, 2, 1, 3, 1, 3, 1,
912 0, 4, 3, 3, 4, 4, 3, 2, 2, 2,
913 2, 2, 2, 2, 2, 2, 2, 6, 5, 8,
914 6, 6, 6, 6, 6, 8, 8, 3, 1, 1,
915 1, 1, 2, 2, 4, 2, 1, 4, 2, 4,
916 6, 6, 6, 6, 3, 4, 0, 1, 1, 1,
917 3, 3, 3, 3, 3, 3, 1, 0, 1, 1,
918 1, 0, 2, 3, 1, 1, 3, 1, 0, 8,
919 1, 1, 3, 1, 1, 3, 0, 1, 1, 3,
920 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 3, 1, 5, 1, 1, 1, 1, 2, 2, 1,
922 2, 2, 0, 1, 2, 2, 3, 9, 9, 8,
923 14, 1, 1, 6, 5, 2, 6, 7, 1, 3,
924 1, 0, 2, 1, 5, 5, 5, 2, 4, 4,
925 6, 4, 4, 6, 6, 2, 7, 1, 2, 0,
926 1, 0, 3, 6, 3, 6, 2, 4, 6, 4
929 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
930 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
931 means the default is an error. */
932 static const unsigned char yydefact[] =
934 146, 0, 48, 136, 1, 135, 176, 41, 42, 43,
935 45, 46, 47, 44, 0, 56, 202, 132, 133, 158,
936 159, 0, 0, 0, 48, 0, 138, 177, 178, 56,
937 0, 0, 49, 50, 51, 52, 53, 54, 0, 0,
938 203, 202, 199, 40, 0, 0, 0, 0, 144, 0,
939 0, 0, 0, 0, 0, 0, 39, 179, 147, 134,
940 55, 69, 73, 74, 75, 76, 77, 78, 79, 80,
941 81, 82, 83, 84, 85, 2, 3, 0, 0, 0,
942 0, 193, 0, 0, 68, 86, 72, 194, 87, 170,
943 171, 172, 173, 174, 175, 198, 0, 0, 0, 211,
944 212, 241, 200, 201, 0, 0, 0, 0, 157, 145,
945 139, 137, 129, 130, 0, 0, 0, 0, 88, 0,
946 0, 71, 93, 95, 0, 0, 100, 94, 205, 0,
947 204, 0, 0, 30, 34, 29, 33, 28, 32, 27,
948 31, 35, 36, 0, 240, 0, 223, 0, 56, 6,
949 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
950 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
951 0, 0, 0, 24, 25, 26, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 56, 215, 0, 237, 152,
953 149, 148, 150, 151, 153, 156, 0, 64, 64, 64,
954 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
955 83, 0, 0, 0, 0, 64, 0, 0, 0, 92,
956 168, 99, 97, 0, 182, 183, 184, 187, 188, 189,
957 185, 186, 180, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 191, 196, 195, 197, 0, 206,
959 0, 227, 222, 0, 59, 59, 246, 0, 0, 235,
960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
961 0, 0, 0, 0, 154, 0, 142, 143, 141, 114,
962 115, 4, 5, 112, 113, 116, 107, 108, 111, 0,
963 0, 0, 0, 110, 109, 140, 70, 70, 96, 167,
964 161, 164, 165, 0, 0, 89, 181, 0, 0, 0,
965 0, 0, 0, 0, 128, 0, 0, 0, 0, 0,
966 0, 0, 0, 0, 242, 0, 244, 239, 0, 0,
967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 155, 0, 0, 66, 64, 102, 0,
969 0, 106, 0, 103, 90, 91, 160, 162, 0, 62,
970 98, 0, 239, 0, 0, 0, 0, 0, 0, 190,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 249, 0, 0, 0, 231, 232, 0, 0, 229,
973 0, 0, 0, 228, 0, 247, 0, 61, 67, 65,
974 101, 104, 105, 166, 163, 63, 57, 0, 0, 0,
975 0, 0, 0, 0, 127, 0, 0, 0, 0, 0,
976 0, 221, 59, 60, 59, 218, 238, 0, 0, 0,
977 0, 0, 224, 225, 226, 221, 0, 0, 169, 192,
978 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 220, 0, 0, 243, 245, 0, 0, 0,
980 230, 233, 234, 0, 248, 58, 0, 124, 0, 0,
981 117, 120, 121, 122, 123, 0, 209, 0, 0, 0,
982 219, 216, 0, 236, 0, 0, 0, 207, 0, 208,
983 0, 0, 217, 119, 125, 126, 0, 0, 0, 0,
984 0, 0, 214, 0, 0, 213, 0, 210
987 /* YYDEFGOTO[NTERM-NUM]. */
988 static const short int yydefgoto[] =
990 -1, 81, 283, 240, 241, 242, 243, 211, 212, 143,
991 213, 24, 15, 38, 438, 324, 346, 406, 276, 347,
992 82, 83, 214, 85, 86, 124, 223, 314, 244, 315,
993 114, 1, 2, 3, 59, 192, 48, 109, 196, 87,
994 357, 301, 302, 303, 39, 91, 16, 94, 17, 29,
995 18, 307, 245, 88, 247, 425, 41, 42, 43, 102,
996 478, 103, 259, 452, 453, 185, 186, 381, 187, 188
999 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1001 #define YYPACT_NINF -442
1002 static const short int yypact[] =
1004 -442, 61, 222, 381, -442, -442, 106, -442, -442, -442,
1005 -442, -442, -442, -442, -25, 283, 43, -442, -442, -442,
1006 -442, 10, -14, 40, 197, 4, -442, -442, -442, 283,
1007 79, 101, -442, -442, -442, -442, -442, -442, 685, -10,
1008 -442, -2, -442, 41, 15, 38, 48, 50, -442, 53,
1009 79, 685, 44, 44, 44, 44, -442, -442, -442, -442,
1010 -442, 57, -442, -442, -442, -442, -442, -442, -442, -442,
1011 -442, -442, -442, -442, -442, -442, -442, 172, 174, 175,
1012 468, -442, 131, 81, -442, -442, -85, -442, -442, -442,
1013 -442, -442, -442, -442, -442, -442, 714, 20, 320, -442,
1014 -442, 1031, -442, -442, 165, 100, 180, 169, 186, -442,
1015 -442, -442, -442, -442, 743, 743, 743, 773, -442, 83,
1016 92, -442, -442, -85, -57, 102, 80, -442, 57, 927,
1017 -442, 927, 927, -442, -442, -442, -442, -442, -442, -442,
1018 -442, -442, -442, 927, -442, 743, -442, 159, 283, -442,
1019 -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
1020 -442, -442, -442, -442, -442, -442, -442, 743, 743, 743,
1021 743, 743, 743, -442, -442, -442, 743, 743, 743, 743,
1022 743, 743, 743, 743, 743, 283, -442, 36, -442, -442,
1023 -442, -442, -442, -442, -442, -442, -81, 107, 107, 107,
1024 141, 151, 203, 157, 205, 160, 209, 163, 210, 208,
1025 215, 171, 212, 225, 818, 107, 743, 743, 743, -442,
1026 526, -442, 118, 132, -442, -442, -442, -442, -442, -442,
1027 -442, -442, 187, 134, 137, 139, 140, 142, 143, 773,
1028 144, 158, 162, 166, -442, -442, -442, -442, 170, -442,
1029 173, -442, -442, 685, 177, 178, -442, 927, 161, 185,
1030 189, 190, 195, 196, 201, 236, 927, 927, 927, 202,
1031 685, 743, 743, 252, -442, -3, -442, -442, -442, -442,
1032 -442, -442, -442, -442, -442, -442, -442, -442, -442, 564,
1033 773, 498, 255, -442, -442, -442, -22, -51, -85, -442,
1034 131, -442, 204, 183, 594, -442, -442, 288, 773, 773,
1035 773, 773, 773, 773, -442, -80, 773, 773, 773, 773,
1036 304, 306, 927, -5, -442, -4, -442, 223, 927, 206,
1037 743, 743, 743, 743, 743, 743, 230, 231, 232, 743,
1038 927, 927, 244, -442, 308, 341, -442, 107, -442, -45,
1039 -54, -442, -48, -442, -442, -442, -442, -442, 647, 323,
1040 -442, 249, 223, 253, 254, 257, 261, 326, 773, -442,
1041 263, 265, 266, 267, 927, 927, 272, 927, 370, 927,
1042 743, -442, 276, 927, 277, -442, -442, 281, 285, -442,
1043 927, 927, 927, -442, 284, -442, 743, -442, -442, -442,
1044 -442, -442, -442, -442, -442, -442, 344, 372, 289, 773,
1045 773, 773, 773, 743, -442, 773, 773, 773, 773, 291,
1046 290, 743, 293, -442, 293, -442, 297, 927, 299, 743,
1047 743, 743, -442, -442, -442, 743, 927, 395, -442, -442,
1048 -442, 301, 302, 307, 309, 317, 318, 319, 324, 325,
1049 427, 9, 297, 328, 388, -442, -442, 743, 327, 927,
1050 -442, -442, -442, 331, -442, -442, 773, -442, 773, 773,
1051 -442, -442, -442, -442, -442, 927, -442, 973, 39, 409,
1052 -442, -442, 330, -442, 334, 335, 336, -442, 342, -442,
1053 973, 439, -442, -442, -442, -442, 441, 345, 927, 927,
1054 442, 383, -442, 927, 445, -442, 927, -442
1057 /* YYPGOTO[NTERM-NUM]. */
1058 static const short int yypgoto[] =
1060 -442, -442, -442, 360, 361, 362, 364, -97, -96, -441,
1061 -442, 423, 443, -125, -442, -251, 109, -442, -190, -442,
1062 -44, -442, -38, -442, -69, 359, -442, -105, 256, -185,
1063 69, -442, -442, -442, 436, -442, -442, -442, -442, 0,
1064 -442, 133, -442, -442, 460, -442, -442, -442, -442, -442,
1065 487, -442, -435, -103, -6, 7, -442, 453, -442, -442,
1066 -442, -442, -442, 115, 64, -442, -442, 153, -442, -442
1069 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1070 positive, shift that token. If negative, reduce the rule which
1071 number is the opposite. If zero, do what YYDEFACT says.
1072 If YYTABLE_NINF, syntax error. */
1073 #define YYTABLE_NINF -132
1074 static const short int yytable[] =
1076 84, 141, 142, 25, 326, 377, 379, 111, 277, 278,
1077 477, 123, 215, 84, 133, 134, 135, 136, 137, 138,
1078 139, 140, 89, 253, 131, 295, 246, 40, 246, 246,
1079 -70, 92, 273, 368, 344, 132, 30, 490, 274, 127,
1080 246, 369, 488, 25, 133, 134, 135, 136, 137, 138,
1081 139, 140, 378, 378, 345, 497, 218, 123, 129, 368,
1082 270, 4, 44, 45, 46, 368, 219, 401, 368, 19,
1083 355, 20, 40, 127, 400, 402, 197, 198, 199, 112,
1084 113, 47, 125, 121, 62, 63, 64, 65, 66, 67,
1085 68, 69, 70, 71, 72, 73, 74, 354, 49, 75,
1086 76, 50, 127, 130, 349, 350, 352, 129, 19, 58,
1087 20, 294, 90, 96, 97, 98, 56, 99, 100, 60,
1088 221, 93, 115, 116, 117, 248, 249, 104, 476, 254,
1089 255, 129, 257, 258, 129, 271, 272, 250, 129, 129,
1090 129, 129, 129, 266, 267, 268, 129, 296, 297, 298,
1091 105, 27, 251, 28, 246, 190, 191, 399, 489, 19,
1092 106, 20, 107, 246, 246, 246, 279, 280, -30, -30,
1093 108, 455, -71, 456, -29, -29, 256, -28, -28, 260,
1094 -27, -27, 300, 261, 262, 263, 264, 265, 281, 282,
1095 118, 269, 119, 120, 77, 189, 126, 78, 193, 194,
1096 79, 216, 80, 362, 363, 364, 365, 366, 367, 322,
1097 217, 370, 371, 372, 373, 84, 195, 220, 252, 246,
1098 275, -34, -131, -33, 51, 246, 340, -32, -31, -37,
1099 284, 304, 84, 341, 129, 298, -38, 246, 246, 7,
1100 8, 9, 52, 11, 53, 13, 285, 54, 305, 308,
1101 306, 327, 309, 5, 310, 311, 6, 312, 313, 316,
1102 336, 337, 338, 414, 7, 8, 9, 10, 11, 12,
1103 13, 246, 246, 317, 246, 335, 246, 318, 328, 342,
1104 246, 319, 343, 320, 14, 353, 321, 246, 246, 246,
1105 323, 325, 129, 385, 129, 129, 129, 389, 329, 359,
1106 356, 129, 330, 331, 441, 442, 443, 444, 332, 333,
1107 446, 447, 448, 449, 334, 339, 376, 358, 361, 374,
1108 300, 375, 382, 383, 246, 133, 134, 135, 136, 137,
1109 138, 139, 140, 246, 394, 395, 380, 384, 397, 386,
1110 387, 388, 129, 390, 391, 392, 393, 31, 32, 33,
1111 34, 35, 36, 37, 141, 142, 246, 396, 436, 398,
1112 344, 484, 407, 485, 486, 413, 409, 410, 419, 420,
1113 411, 422, 246, 424, 412, 445, 415, 428, 416, 417,
1114 418, 141, 142, 129, 432, 433, 434, 421, 423, 427,
1115 429, 129, 129, 129, 430, 246, 246, 129, 431, 435,
1116 246, 437, 439, 246, 450, 440, 454, 451, -40, 19,
1117 457, 20, 459, 465, 466, 6, -40, -40, 467, 129,
1118 468, 458, 469, -40, -40, -40, -40, -40, -40, -40,
1119 464, -40, 21, 470, 471, 472, 460, 461, 462, 22,
1120 473, 474, 475, 23, 479, 378, 481, 483, 491, 492,
1121 493, 494, 495, 482, 498, 496, 499, 503, 500, 504,
1122 506, 181, 182, 183, 480, 184, 101, 55, 405, 487,
1123 293, 121, 62, 63, 64, 65, 66, 67, 68, 69,
1124 70, 71, 72, 73, 74, 222, 110, 75, 76, 57,
1125 26, 404, 501, 502, 95, 426, 19, 505, 20, 463,
1126 507, 121, 200, 201, 202, 203, 204, 205, 206, 207,
1127 208, 209, 210, 73, 74, 408, 0, 75, 76, 0,
1128 0, 0, 0, 0, 0, 0, 19, 0, 20, 121,
1129 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1130 72, 73, 74, 0, 0, 75, 76, 0, 0, 0,
1131 0, 0, 0, 0, 19, 0, 20, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 299, 121, 200, 201,
1133 202, 203, 204, 205, 206, 207, 208, 209, 210, 73,
1134 74, 0, 77, 75, 76, 78, 0, 0, 79, 0,
1135 80, 122, 19, 0, 20, 0, 0, 121, 62, 63,
1136 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1137 74, 0, 77, 75, 76, 78, 0, 0, 79, 0,
1138 80, 351, 19, 0, 20, 0, 0, 0, 0, 0,
1139 0, 0, 0, 0, 360, 0, 0, 0, 0, 0,
1140 77, 0, 0, 78, 0, 0, 79, 0, 80, 0,
1141 121, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1142 71, 72, 73, 74, 0, 0, 75, 76, 0, 0,
1143 0, 0, 0, 0, 0, 19, 0, 20, 77, 0,
1144 0, 78, 0, 348, 79, 0, 80, 403, 61, 62,
1145 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1146 73, 74, 0, 0, 75, 76, 0, 0, 77, 0,
1147 0, 78, 0, 19, 79, 20, 80, 128, 62, 63,
1148 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1149 74, 0, 0, 75, 76, 0, 0, 0, 0, 0,
1150 0, 0, 19, 0, 20, 0, 121, 62, 63, 64,
1151 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1152 0, 77, 75, 76, 78, 0, 0, 79, 0, 80,
1153 0, 19, 0, 20, 0, 0, 121, 200, 201, 202,
1154 203, 204, 205, 206, 207, 208, 209, 210, 73, 74,
1155 0, 0, 75, 76, 0, 0, 0, 0, 0, 77,
1156 0, 19, 78, 20, 0, 79, 0, 80, 0, 0,
1157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 77, 0,
1159 0, 78, 0, 0, 79, 0, 80, 75, 76, 0,
1160 286, 287, 288, 0, 0, 0, 19, 0, 20, 0,
1161 0, 0, 0, 0, 0, 0, 0, 77, 0, 0,
1162 78, 0, 0, 79, 0, 80, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 0, 77, 0, 0,
1165 78, 0, 0, 79, 0, 80, 149, 150, 151, 152,
1166 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1167 163, 164, 165, 166, 0, 0, 0, 0, 0, 233,
1168 0, 234, 173, 174, 175, 0, 235, 236, 237, 238,
1169 0, 0, 0, 0, 0, 289, 0, 0, 290, 0,
1170 291, 0, 0, 292, 224, 225, 75, 76, 226, 227,
1171 228, 229, 230, 231, 0, 19, 0, 20, 0, 0,
1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, 0, 0, 232, 0,
1175 224, 225, 0, 0, 226, 227, 228, 229, 230, 231,
1176 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
1177 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1178 164, 165, 166, 0, 0, 0, 0, 0, 233, 0,
1179 234, 173, 174, 175, 232, 235, 236, 237, 238, 0,
1180 0, 0, 0, 0, 0, 0, 0, 239, 0, 0,
1181 0, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1182 158, 159, 160, 161, 162, 163, 164, 165, 166, 144,
1183 0, 0, 0, 0, 233, 0, 234, 173, 174, 175,
1184 145, 235, 236, 237, 238, 0, 0, 0, 0, 0,
1185 146, 147, 0, 239, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 148, 0, 0, 149,
1187 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1188 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1189 0, 0, 170, 171, 172, 173, 174, 175, 176, 177,
1193 static const short int yycheck[] =
1195 38, 98, 98, 3, 255, 10, 10, 51, 198, 199,
1196 451, 80, 117, 51, 5, 6, 7, 8, 9, 10,
1197 11, 12, 32, 148, 4, 215, 129, 29, 131, 132,
1198 115, 33, 113, 113, 37, 15, 61, 478, 119, 124,
1199 143, 121, 477, 43, 5, 6, 7, 8, 9, 10,
1200 11, 12, 57, 57, 57, 490, 113, 126, 96, 113,
1201 185, 0, 52, 53, 54, 113, 123, 121, 113, 28,
1202 121, 30, 29, 124, 119, 123, 114, 115, 116, 35,
1203 36, 71, 82, 3, 4, 5, 6, 7, 8, 9,
1204 10, 11, 12, 13, 14, 15, 16, 119, 112, 19,
1205 20, 61, 124, 96, 289, 290, 291, 145, 28, 30,
1206 30, 214, 122, 72, 73, 74, 112, 76, 77, 18,
1207 40, 123, 53, 54, 55, 131, 132, 112, 119, 167,
1208 168, 169, 170, 171, 172, 99, 100, 143, 176, 177,
1209 178, 179, 180, 181, 182, 183, 184, 216, 217, 218,
1210 112, 45, 145, 47, 257, 55, 56, 347, 119, 28,
1211 112, 30, 112, 266, 267, 268, 25, 26, 17, 18,
1212 117, 422, 115, 424, 17, 18, 169, 17, 18, 172,
1213 17, 18, 220, 176, 177, 178, 179, 180, 17, 18,
1214 18, 184, 18, 18, 114, 30, 115, 117, 18, 30,
1215 120, 118, 122, 308, 309, 310, 311, 312, 313, 253,
1216 118, 316, 317, 318, 319, 253, 30, 115, 59, 322,
1217 113, 18, 0, 18, 27, 328, 270, 18, 18, 21,
1218 18, 113, 270, 271, 272, 304, 21, 340, 341, 42,
1219 43, 44, 45, 46, 47, 48, 21, 50, 116, 115,
1220 63, 257, 115, 31, 115, 115, 34, 115, 115, 115,
1221 266, 267, 268, 368, 42, 43, 44, 45, 46, 47,
1222 48, 374, 375, 115, 377, 39, 379, 115, 117, 272,
1223 383, 115, 30, 113, 62, 30, 113, 390, 391, 392,
1224 113, 113, 330, 331, 332, 333, 334, 335, 113, 116,
1225 300, 339, 113, 113, 409, 410, 411, 412, 113, 113,
1226 415, 416, 417, 418, 113, 113, 322, 113, 30, 15,
1227 358, 15, 328, 117, 427, 5, 6, 7, 8, 9,
1228 10, 11, 12, 436, 340, 341, 113, 330, 30, 332,
1229 333, 334, 380, 113, 113, 113, 339, 64, 65, 66,
1230 67, 68, 69, 70, 451, 451, 459, 113, 396, 18,
1231 37, 466, 113, 468, 469, 39, 113, 113, 374, 375,
1232 113, 377, 475, 379, 113, 413, 113, 383, 113, 113,
1233 113, 478, 478, 421, 390, 391, 392, 115, 18, 113,
1234 113, 429, 430, 431, 113, 498, 499, 435, 113, 115,
1235 503, 57, 30, 506, 113, 116, 113, 117, 27, 28,
1236 113, 30, 113, 18, 113, 34, 35, 36, 116, 457,
1237 113, 427, 113, 42, 43, 44, 45, 46, 47, 48,
1238 436, 50, 51, 116, 116, 116, 429, 430, 431, 58,
1239 116, 116, 15, 62, 116, 57, 119, 116, 39, 119,
1240 116, 116, 116, 459, 15, 113, 15, 15, 113, 76,
1241 15, 101, 101, 101, 457, 101, 43, 24, 359, 475,
1242 214, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1243 12, 13, 14, 15, 16, 126, 50, 19, 20, 29,
1244 3, 358, 498, 499, 41, 380, 28, 503, 30, 435,
1245 506, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1246 12, 13, 14, 15, 16, 362, -1, 19, 20, -1,
1247 -1, -1, -1, -1, -1, -1, 28, -1, 30, 3,
1248 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1249 14, 15, 16, -1, -1, 19, 20, -1, -1, -1,
1250 -1, -1, -1, -1, 28, -1, 30, -1, -1, -1,
1251 -1, -1, -1, -1, -1, -1, 40, 3, 4, 5,
1252 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1253 16, -1, 114, 19, 20, 117, -1, -1, 120, -1,
1254 122, 123, 28, -1, 30, -1, -1, 3, 4, 5,
1255 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1256 16, -1, 114, 19, 20, 117, -1, -1, 120, -1,
1257 122, 123, 28, -1, 30, -1, -1, -1, -1, -1,
1258 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
1259 114, -1, -1, 117, -1, -1, 120, -1, 122, -1,
1260 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1261 13, 14, 15, 16, -1, -1, 19, 20, -1, -1,
1262 -1, -1, -1, -1, -1, 28, -1, 30, 114, -1,
1263 -1, 117, -1, 119, 120, -1, 122, 40, 3, 4,
1264 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1265 15, 16, -1, -1, 19, 20, -1, -1, 114, -1,
1266 -1, 117, -1, 28, 120, 30, 122, 3, 4, 5,
1267 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1268 16, -1, -1, 19, 20, -1, -1, -1, -1, -1,
1269 -1, -1, 28, -1, 30, -1, 3, 4, 5, 6,
1270 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1271 -1, 114, 19, 20, 117, -1, -1, 120, -1, 122,
1272 -1, 28, -1, 30, -1, -1, 3, 4, 5, 6,
1273 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1274 -1, -1, 19, 20, -1, -1, -1, -1, -1, 114,
1275 -1, 28, 117, 30, -1, 120, -1, 122, -1, -1,
1276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1277 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1,
1278 -1, 117, -1, -1, 120, -1, 122, 19, 20, -1,
1279 22, 23, 24, -1, -1, -1, 28, -1, 30, -1,
1280 -1, -1, -1, -1, -1, -1, -1, 114, -1, -1,
1281 117, -1, -1, 120, -1, 122, -1, -1, -1, -1,
1282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1283 -1, -1, -1, -1, -1, -1, -1, 114, -1, -1,
1284 117, -1, -1, 120, -1, 122, 78, 79, 80, 81,
1285 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1286 92, 93, 94, 95, -1, -1, -1, -1, -1, 101,
1287 -1, 103, 104, 105, 106, -1, 108, 109, 110, 111,
1288 -1, -1, -1, -1, -1, 117, -1, -1, 120, -1,
1289 122, -1, -1, 125, 17, 18, 19, 20, 21, 22,
1290 23, 24, 25, 26, -1, 28, -1, 30, -1, -1,
1291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1293 -1, -1, -1, -1, -1, -1, -1, -1, 61, -1,
1294 17, 18, -1, -1, 21, 22, 23, 24, 25, 26,
1295 -1, -1, -1, -1, -1, 78, 79, 80, 81, 82,
1296 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1297 93, 94, 95, -1, -1, -1, -1, -1, 101, -1,
1298 103, 104, 105, 106, 61, 108, 109, 110, 111, -1,
1299 -1, -1, -1, -1, -1, -1, -1, 120, -1, -1,
1300 -1, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1301 87, 88, 89, 90, 91, 92, 93, 94, 95, 38,
1302 -1, -1, -1, -1, 101, -1, 103, 104, 105, 106,
1303 49, 108, 109, 110, 111, -1, -1, -1, -1, -1,
1304 59, 60, -1, 120, -1, -1, -1, -1, -1, -1,
1305 -1, -1, -1, -1, -1, -1, 75, -1, -1, 78,
1306 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1307 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1308 -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
1312 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1313 symbol of state STATE-NUM. */
1314 static const unsigned char yystos[] =
1316 0, 157, 158, 159, 0, 31, 34, 42, 43, 44,
1317 45, 46, 47, 48, 62, 138, 172, 174, 176, 28,
1318 30, 51, 58, 62, 137, 165, 176, 45, 47, 175,
1319 61, 64, 65, 66, 67, 68, 69, 70, 139, 170,
1320 29, 182, 183, 184, 52, 53, 54, 71, 162, 112,
1321 61, 27, 45, 47, 50, 138, 112, 170, 30, 160,
1322 18, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1323 12, 13, 14, 15, 16, 19, 20, 114, 117, 120,
1324 122, 127, 146, 147, 148, 149, 150, 165, 179, 32,
1325 122, 171, 33, 123, 173, 183, 72, 73, 74, 76,
1326 77, 137, 185, 187, 112, 112, 112, 112, 117, 163,
1327 160, 146, 35, 36, 156, 156, 156, 156, 18, 18,
1328 18, 3, 123, 150, 151, 165, 115, 124, 3, 148,
1329 181, 4, 15, 5, 6, 7, 8, 9, 10, 11,
1330 12, 133, 134, 135, 38, 49, 59, 60, 75, 78,
1331 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1332 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1333 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1334 111, 129, 130, 131, 132, 191, 192, 194, 195, 30,
1335 55, 56, 161, 18, 30, 30, 164, 148, 148, 148,
1336 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1337 14, 133, 134, 136, 148, 153, 118, 118, 113, 123,
1338 115, 40, 151, 152, 17, 18, 21, 22, 23, 24,
1339 25, 26, 61, 101, 103, 108, 109, 110, 111, 120,
1340 129, 130, 131, 132, 154, 178, 179, 180, 180, 180,
1341 180, 181, 59, 139, 148, 148, 181, 148, 148, 188,
1342 181, 181, 181, 181, 181, 181, 148, 148, 148, 181,
1343 139, 99, 100, 113, 119, 113, 144, 144, 144, 25,
1344 26, 17, 18, 128, 18, 21, 22, 23, 24, 117,
1345 120, 122, 125, 154, 179, 144, 150, 150, 150, 40,
1346 148, 167, 168, 169, 113, 116, 63, 177, 115, 115,
1347 115, 115, 115, 115, 153, 155, 115, 115, 115, 115,
1348 113, 113, 146, 113, 141, 113, 141, 180, 117, 113,
1349 113, 113, 113, 113, 113, 39, 180, 180, 180, 113,
1350 146, 148, 181, 30, 37, 57, 142, 145, 119, 155,
1351 155, 123, 155, 30, 119, 121, 165, 166, 113, 116,
1352 40, 30, 153, 153, 153, 153, 153, 153, 113, 121,
1353 153, 153, 153, 153, 15, 15, 180, 10, 57, 10,
1354 113, 193, 180, 117, 181, 148, 181, 181, 181, 148,
1355 113, 113, 113, 181, 180, 180, 113, 30, 18, 144,
1356 119, 121, 123, 40, 167, 142, 143, 113, 193, 113,
1357 113, 113, 113, 39, 153, 113, 113, 113, 113, 180,
1358 180, 115, 180, 18, 180, 181, 189, 113, 180, 113,
1359 113, 113, 180, 180, 180, 115, 148, 57, 140, 30,
1360 116, 153, 153, 153, 153, 148, 153, 153, 153, 153,
1361 113, 117, 189, 190, 113, 141, 141, 113, 180, 113,
1362 181, 181, 181, 190, 180, 18, 113, 116, 113, 113,
1363 116, 116, 116, 116, 116, 15, 119, 135, 186, 116,
1364 181, 119, 180, 116, 153, 153, 153, 180, 178, 119,
1365 135, 39, 119, 116, 116, 116, 113, 178, 15, 15,
1366 113, 180, 180, 15, 76, 180, 15, 180
1369 #define yyerrok (yyerrstatus = 0)
1370 #define yyclearin (yychar = YYEMPTY)
1371 #define YYEMPTY (-2)
1374 #define YYACCEPT goto yyacceptlab
1375 #define YYABORT goto yyabortlab
1376 #define YYERROR goto yyerrorlab
1379 /* Like YYERROR except do call yyerror. This remains here temporarily
1380 to ease the transition to the new meaning of YYERROR, for GCC.
1381 Once GCC version 2 has supplanted version 1, this can go. */
1383 #define YYFAIL goto yyerrlab
1385 #define YYRECOVERING() (!!yyerrstatus)
1387 #define YYBACKUP(Token, Value) \
1389 if (yychar == YYEMPTY && yylen == 1) \
1393 yytoken = YYTRANSLATE (yychar); \
1399 yyerror (YY_("syntax error: cannot back up")); \
1406 #define YYERRCODE 256
1409 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1410 If N is 0, then set CURRENT to the empty location which ends
1411 the previous symbol: RHS[0] (always defined). */
1413 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1414 #ifndef YYLLOC_DEFAULT
1415 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1419 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1420 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1421 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1422 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1426 (Current).first_line = (Current).last_line = \
1427 YYRHSLOC (Rhs, 0).last_line; \
1428 (Current).first_column = (Current).last_column = \
1429 YYRHSLOC (Rhs, 0).last_column; \
1435 /* YY_LOCATION_PRINT -- Print the location on the stream.
1436 This macro was not mandated originally: define only if we know
1437 we won't break user code: when these are the locations we know. */
1439 #ifndef YY_LOCATION_PRINT
1440 # if YYLTYPE_IS_TRIVIAL
1441 # define YY_LOCATION_PRINT(File, Loc) \
1442 fprintf (File, "%d.%d-%d.%d", \
1443 (Loc).first_line, (Loc).first_column, \
1444 (Loc).last_line, (Loc).last_column)
1446 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1451 /* YYLEX -- calling `yylex' with the right arguments. */
1454 # define YYLEX yylex (YYLEX_PARAM)
1456 # define YYLEX yylex ()
1459 /* Enable debugging if requested. */
1463 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1464 # define YYFPRINTF fprintf
1467 # define YYDPRINTF(Args) \
1473 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1477 YYFPRINTF (stderr, "%s ", Title); \
1478 yysymprint (stderr, \
1480 YYFPRINTF (stderr, "\n"); \
1484 /*------------------------------------------------------------------.
1485 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1487 `------------------------------------------------------------------*/
1489 #if defined (__STDC__) || defined (__cplusplus)
1491 yy_stack_print (short int *bottom, short int *top)
1494 yy_stack_print (bottom, top)
1499 YYFPRINTF (stderr, "Stack now");
1500 for (/* Nothing. */; bottom <= top; ++bottom)
1501 YYFPRINTF (stderr, " %d", *bottom);
1502 YYFPRINTF (stderr, "\n");
1505 # define YY_STACK_PRINT(Bottom, Top) \
1508 yy_stack_print ((Bottom), (Top)); \
1512 /*------------------------------------------------.
1513 | Report that the YYRULE is going to be reduced. |
1514 `------------------------------------------------*/
1516 #if defined (__STDC__) || defined (__cplusplus)
1518 yy_reduce_print (int yyrule)
1521 yy_reduce_print (yyrule)
1526 unsigned long int yylno = yyrline[yyrule];
1527 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
1529 /* Print the symbols being reduced, and their result. */
1530 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
1531 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
1532 YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
1535 # define YY_REDUCE_PRINT(Rule) \
1538 yy_reduce_print (Rule); \
1541 /* Nonzero means print parse trace. It is left uninitialized so that
1542 multiple parsers can coexist. */
1544 #else /* !YYDEBUG */
1545 # define YYDPRINTF(Args)
1546 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1547 # define YY_STACK_PRINT(Bottom, Top)
1548 # define YY_REDUCE_PRINT(Rule)
1549 #endif /* !YYDEBUG */
1552 /* YYINITDEPTH -- initial size of the parser's stacks. */
1554 # define YYINITDEPTH 200
1557 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1558 if the built-in stack extension method is used).
1560 Do not make this value too large; the results are undefined if
1561 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1562 evaluated with infinite-precision integer arithmetic. */
1565 # define YYMAXDEPTH 10000
1573 # if defined (__GLIBC__) && defined (_STRING_H)
1574 # define yystrlen strlen
1576 /* Return the length of YYSTR. */
1578 # if defined (__STDC__) || defined (__cplusplus)
1579 yystrlen (const char *yystr)
1585 const char *yys = yystr;
1587 while (*yys++ != '\0')
1590 return yys - yystr - 1;
1596 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1597 # define yystpcpy stpcpy
1599 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1602 # if defined (__STDC__) || defined (__cplusplus)
1603 yystpcpy (char *yydest, const char *yysrc)
1605 yystpcpy (yydest, yysrc)
1611 const char *yys = yysrc;
1613 while ((*yyd++ = *yys++) != '\0')
1622 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1623 quotes and backslashes, so that it's suitable for yyerror. The
1624 heuristic is that double-quoting is unnecessary unless the string
1625 contains an apostrophe, a comma, or backslash (other than
1626 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1627 null, do not copy; instead, return the length of what the result
1630 yytnamerr (char *yyres, const char *yystr)
1635 char const *yyp = yystr;
1642 goto do_not_strip_quotes;
1646 goto do_not_strip_quotes;
1659 do_not_strip_quotes: ;
1663 return yystrlen (yystr);
1665 return yystpcpy (yyres, yystr) - yyres;
1669 #endif /* YYERROR_VERBOSE */
1674 /*--------------------------------.
1675 | Print this symbol on YYOUTPUT. |
1676 `--------------------------------*/
1678 #if defined (__STDC__) || defined (__cplusplus)
1680 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
1683 yysymprint (yyoutput, yytype, yyvaluep)
1689 /* Pacify ``unused variable'' warnings. */
1692 if (yytype < YYNTOKENS)
1693 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1695 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1699 if (yytype < YYNTOKENS)
1700 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1707 YYFPRINTF (yyoutput, ")");
1710 #endif /* ! YYDEBUG */
1711 /*-----------------------------------------------.
1712 | Release the memory associated to this symbol. |
1713 `-----------------------------------------------*/
1715 #if defined (__STDC__) || defined (__cplusplus)
1717 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1720 yydestruct (yymsg, yytype, yyvaluep)
1726 /* Pacify ``unused variable'' warnings. */
1731 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1742 /* Prevent warnings from -Wmissing-prototypes. */
1744 #ifdef YYPARSE_PARAM
1745 # if defined (__STDC__) || defined (__cplusplus)
1746 int yyparse (void *YYPARSE_PARAM);
1750 #else /* ! YYPARSE_PARAM */
1751 #if defined (__STDC__) || defined (__cplusplus)
1756 #endif /* ! YYPARSE_PARAM */
1760 /* The look-ahead symbol. */
1763 /* The semantic value of the look-ahead symbol. */
1766 /* Number of syntax errors so far. */
1775 #ifdef YYPARSE_PARAM
1776 # if defined (__STDC__) || defined (__cplusplus)
1777 int yyparse (void *YYPARSE_PARAM)
1779 int yyparse (YYPARSE_PARAM)
1780 void *YYPARSE_PARAM;
1782 #else /* ! YYPARSE_PARAM */
1783 #if defined (__STDC__) || defined (__cplusplus)
1797 /* Number of tokens to shift before error messages enabled. */
1799 /* Look-ahead token as an internal (translated) token number. */
1802 /* Three stacks and their tools:
1803 `yyss': related to states,
1804 `yyvs': related to semantic values,
1805 `yyls': related to locations.
1807 Refer to the stacks thru separate pointers, to allow yyoverflow
1808 to reallocate them elsewhere. */
1810 /* The state stack. */
1811 short int yyssa[YYINITDEPTH];
1812 short int *yyss = yyssa;
1815 /* The semantic value stack. */
1816 YYSTYPE yyvsa[YYINITDEPTH];
1817 YYSTYPE *yyvs = yyvsa;
1822 #define YYPOPSTACK (yyvsp--, yyssp--)
1824 YYSIZE_T yystacksize = YYINITDEPTH;
1826 /* The variables used to return semantic value and location from the
1831 /* When reducing, the number of symbols on the RHS of the reduced
1835 YYDPRINTF ((stderr, "Starting parse\n"));
1840 yychar = YYEMPTY; /* Cause a token to be read. */
1842 /* Initialize stack pointers.
1843 Waste one element of value and location stack
1844 so that they stay on the same level as the state stack.
1845 The wasted elements are never initialized. */
1852 /*------------------------------------------------------------.
1853 | yynewstate -- Push a new state, which is found in yystate. |
1854 `------------------------------------------------------------*/
1856 /* In all cases, when you get here, the value and location stacks
1857 have just been pushed. so pushing a state here evens the stacks.
1864 if (yyss + yystacksize - 1 <= yyssp)
1866 /* Get the current used size of the three stacks, in elements. */
1867 YYSIZE_T yysize = yyssp - yyss + 1;
1871 /* Give user a chance to reallocate the stack. Use copies of
1872 these so that the &'s don't force the real ones into
1874 YYSTYPE *yyvs1 = yyvs;
1875 short int *yyss1 = yyss;
1878 /* Each stack pointer address is followed by the size of the
1879 data in use in that stack, in bytes. This used to be a
1880 conditional around just the two extra args, but that might
1881 be undefined if yyoverflow is a macro. */
1882 yyoverflow (YY_("memory exhausted"),
1883 &yyss1, yysize * sizeof (*yyssp),
1884 &yyvs1, yysize * sizeof (*yyvsp),
1891 #else /* no yyoverflow */
1892 # ifndef YYSTACK_RELOCATE
1893 goto yyexhaustedlab;
1895 /* Extend the stack our own way. */
1896 if (YYMAXDEPTH <= yystacksize)
1897 goto yyexhaustedlab;
1899 if (YYMAXDEPTH < yystacksize)
1900 yystacksize = YYMAXDEPTH;
1903 short int *yyss1 = yyss;
1904 union yyalloc *yyptr =
1905 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1907 goto yyexhaustedlab;
1908 YYSTACK_RELOCATE (yyss);
1909 YYSTACK_RELOCATE (yyvs);
1911 # undef YYSTACK_RELOCATE
1913 YYSTACK_FREE (yyss1);
1916 #endif /* no yyoverflow */
1918 yyssp = yyss + yysize - 1;
1919 yyvsp = yyvs + yysize - 1;
1922 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1923 (unsigned long int) yystacksize));
1925 if (yyss + yystacksize - 1 <= yyssp)
1929 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1938 /* Do appropriate processing given the current state. */
1939 /* Read a look-ahead token if we need one and don't already have one. */
1942 /* First try to decide what to do without reference to look-ahead token. */
1944 yyn = yypact[yystate];
1945 if (yyn == YYPACT_NINF)
1948 /* Not known => get a look-ahead token if don't already have one. */
1950 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
1951 if (yychar == YYEMPTY)
1953 YYDPRINTF ((stderr, "Reading a token: "));
1957 if (yychar <= YYEOF)
1959 yychar = yytoken = YYEOF;
1960 YYDPRINTF ((stderr, "Now at end of input.\n"));
1964 yytoken = YYTRANSLATE (yychar);
1965 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1968 /* If the proper action on seeing token YYTOKEN is to reduce or to
1969 detect an error, take that action. */
1971 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1976 if (yyn == 0 || yyn == YYTABLE_NINF)
1985 /* Shift the look-ahead token. */
1986 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1988 /* Discard the token being shifted unless it is eof. */
1989 if (yychar != YYEOF)
1995 /* Count tokens shifted since error; after three, turn off error
2004 /*-----------------------------------------------------------.
2005 | yydefault -- do the default action for the current state. |
2006 `-----------------------------------------------------------*/
2008 yyn = yydefact[yystate];
2014 /*-----------------------------.
2015 | yyreduce -- Do a reduction. |
2016 `-----------------------------*/
2018 /* yyn is the number of a rule to reduce with. */
2021 /* If YYLEN is nonzero, implement the default value of the action:
2024 Otherwise, the following line sets YYVAL to garbage.
2025 This behavior is undocumented and Bison
2026 users should not rely upon it. Assigning to YYVAL
2027 unconditionally makes the parser a bit smaller, and it avoids a
2028 GCC warning that YYVAL may be used uninitialized. */
2029 yyval = yyvsp[1-yylen];
2032 YY_REDUCE_PRINT (yyn);
2036 #line 206 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2038 *(yyvsp[-1].String) += " = ";
2039 (yyval.String) = (yyvsp[-1].String);
2044 #line 210 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2046 (yyval.String) = new std::string("");
2051 #line 217 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2052 { (yyval.String) = new std::string(""); ;}
2056 #line 222 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2058 *(yyvsp[-1].String) += *(yyvsp[0].String);
2059 delete (yyvsp[0].String);
2060 (yyval.String) = (yyvsp[-1].String);
2065 #line 227 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2066 { (yyval.String) = new std::string(""); ;}
2070 #line 232 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2071 { (yyval.String) = new std::string(); ;}
2075 #line 233 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2076 { *(yyvsp[-1].String) += " " + *(yyvsp[0].String); delete (yyvsp[0].String); (yyval.String) = (yyvsp[-1].String); ;}
2080 #line 236 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2081 { (yyval.String) = new std::string(); ;}
2085 #line 237 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2087 (yyvsp[-1].String)->insert(0, ", ");
2088 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
2089 delete (yyvsp[0].String);
2090 (yyval.String) = (yyvsp[-1].String);
2095 #line 245 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2097 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
2098 delete (yyvsp[0].String);
2099 (yyval.String) = (yyvsp[-1].String);
2104 #line 251 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2105 { (yyval.String) = new std::string(); ;}
2109 #line 255 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2110 { (yyval.String) = new std::string(); ;}
2114 #line 256 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2116 (yyvsp[-1].String)->insert(0, ", ");
2117 if (!(yyvsp[0].String)->empty())
2118 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
2119 delete (yyvsp[0].String);
2120 (yyval.String) = (yyvsp[-1].String);
2125 #line 266 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2127 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
2128 delete (yyvsp[0].String);
2129 (yyval.String) = (yyvsp[-1].String);
2134 #line 288 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2136 (yyval.Type).newTy = (yyvsp[0].String); (yyval.Type).oldTy = OpaqueTy;
2141 #line 294 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2142 { // Type UpReference
2143 (yyvsp[0].String)->insert(0, "\\");
2144 (yyval.Type).newTy = (yyvsp[0].String);
2145 (yyval.Type).oldTy = OpaqueTy;
2150 #line 299 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2151 { // Function derived type?
2152 *(yyvsp[-3].Type).newTy += "( " + *(yyvsp[-1].String) + " )";
2153 delete (yyvsp[-1].String);
2154 (yyval.Type).newTy = (yyvsp[-3].Type).newTy;
2155 (yyval.Type).oldTy = FunctionTy;
2160 #line 305 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2161 { // Sized array type?
2162 (yyvsp[-3].String)->insert(0,"[ ");
2163 *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " ]";
2164 delete (yyvsp[-1].Type).newTy;
2165 (yyval.Type).newTy = (yyvsp[-3].String);
2166 (yyval.Type).oldTy = ArrayTy;
2171 #line 312 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2172 { // Packed array type?
2173 (yyvsp[-3].String)->insert(0,"< ");
2174 *(yyvsp[-3].String) += " x " + *(yyvsp[-1].Type).newTy + " >";
2175 delete (yyvsp[-1].Type).newTy;
2176 (yyval.Type).newTy = (yyvsp[-3].String);
2177 (yyval.Type).oldTy = PackedTy;
2182 #line 319 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2183 { // Structure type?
2184 (yyvsp[-1].String)->insert(0, "{ ");
2185 *(yyvsp[-1].String) += " }";
2186 (yyval.Type).newTy = (yyvsp[-1].String);
2187 (yyval.Type).oldTy = StructTy;
2192 #line 325 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2193 { // Empty structure type?
2194 (yyval.Type).newTy = new std::string("{ }");
2195 (yyval.Type).oldTy = StructTy;
2200 #line 329 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2202 *(yyvsp[-1].Type).newTy += '*';
2203 (yyvsp[-1].Type).oldTy = PointerTy;
2204 (yyval.Type) = (yyvsp[-1].Type);
2209 #line 339 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2211 (yyval.String) = (yyvsp[0].Type).newTy;
2216 #line 342 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2218 *(yyvsp[-2].String) += ", " + *(yyvsp[0].Type).newTy;
2219 delete (yyvsp[0].Type).newTy;
2220 (yyval.String) = (yyvsp[-2].String);
2225 #line 351 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2227 *(yyvsp[-2].String) += ", ...";
2228 delete (yyvsp[0].String);
2229 (yyval.String) = (yyvsp[-2].String);
2234 #line 356 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2236 (yyval.String) = (yyvsp[0].String);
2241 #line 359 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2243 (yyval.String) = new std::string();
2248 #line 369 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2249 { // Nonempty unsized arr
2250 (yyval.Const).type = (yyvsp[-3].Type);
2251 (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy);
2252 *(yyval.Const).cnst += " [ " + *(yyvsp[-1].String) + " ]";
2253 delete (yyvsp[-1].String);
2258 #line 375 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2260 (yyval.Const).type = (yyvsp[-2].Type);
2261 (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy);
2262 *(yyval.Const).cnst += "[ ]";
2267 #line 380 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2269 (yyval.Const).type = (yyvsp[-2].Type);
2270 (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy);
2271 *(yyval.Const).cnst += " c" + *(yyvsp[0].String);
2272 delete (yyvsp[0].String);
2277 #line 386 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2278 { // Nonempty unsized arr
2279 (yyval.Const).type = (yyvsp[-3].Type);
2280 (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy);
2281 *(yyval.Const).cnst += " < " + *(yyvsp[-1].String) + " >";
2282 delete (yyvsp[-1].String);
2287 #line 392 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2289 (yyval.Const).type = (yyvsp[-3].Type);
2290 (yyval.Const).cnst = new std::string(*(yyvsp[-3].Type).newTy);
2291 *(yyval.Const).cnst += " { " + *(yyvsp[-1].String) + " }";
2292 delete (yyvsp[-1].String);
2297 #line 398 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2299 (yyval.Const).type = (yyvsp[-2].Type);
2300 (yyval.Const).cnst = new std::string(*(yyvsp[-2].Type).newTy);
2301 *(yyval.Const).cnst += " [ ]";
2306 #line 403 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2308 (yyval.Const).type = (yyvsp[-1].Type);
2309 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2310 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2311 delete (yyvsp[0].String);
2316 #line 409 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2318 (yyval.Const).type = (yyvsp[-1].Type);
2319 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2320 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2321 delete (yyvsp[0].String);
2326 #line 415 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2328 (yyval.Const).type = (yyvsp[-1].Type);
2329 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2330 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2331 delete (yyvsp[0].String);
2336 #line 421 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2338 (yyval.Const).type = (yyvsp[-1].Type);
2339 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2340 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2341 delete (yyvsp[0].String);
2346 #line 427 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2348 (yyval.Const).type = (yyvsp[-1].Type);
2349 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2350 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2351 delete (yyvsp[0].String);
2356 #line 433 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2357 { // integral constants
2358 (yyval.Const).type = (yyvsp[-1].Type);
2359 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2360 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2361 delete (yyvsp[0].String);
2366 #line 439 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2367 { // integral constants
2368 (yyval.Const).type = (yyvsp[-1].Type);
2369 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2370 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2371 delete (yyvsp[0].String);
2376 #line 445 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2377 { // Boolean constants
2378 (yyval.Const).type = (yyvsp[-1].Type);
2379 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2380 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2381 delete (yyvsp[0].String);
2386 #line 451 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2387 { // Boolean constants
2388 (yyval.Const).type = (yyvsp[-1].Type);
2389 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2390 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2391 delete (yyvsp[0].String);
2396 #line 457 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2397 { // Float & Double constants
2398 (yyval.Const).type = (yyvsp[-1].Type);
2399 (yyval.Const).cnst = new std::string(*(yyvsp[-1].Type).newTy);
2400 *(yyval.Const).cnst += " " + *(yyvsp[0].String);
2401 delete (yyvsp[0].String);
2406 #line 465 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2408 // We must infer the cast opcode from the types of the operands.
2409 const char *opcode = getCastOpcode((yyvsp[-3].Const).type, (yyvsp[-1].Type));
2410 (yyval.String) = new std::string(opcode);
2411 *(yyval.String) += "(" + *(yyvsp[-3].Const).cnst + " " + *(yyvsp[-2].String) + " " + *(yyvsp[-1].Type).newTy + ")";
2412 delete (yyvsp[-5].String); (yyvsp[-3].Const).destroy(); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy();
2417 #line 472 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2419 *(yyvsp[-4].String) += "(" + *(yyvsp[-2].Const).cnst + " " + *(yyvsp[-1].String) + ")";
2420 (yyval.String) = (yyvsp[-4].String);
2421 (yyvsp[-2].Const).destroy();
2422 delete (yyvsp[-1].String);
2427 #line 478 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2429 *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2430 (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2431 (yyval.String) = (yyvsp[-7].String);
2436 #line 483 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2438 *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2439 (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2440 (yyval.String) = (yyvsp[-5].String);
2445 #line 488 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2447 *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2448 (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2449 (yyval.String) = (yyvsp[-5].String);
2454 #line 493 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2456 *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2457 (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2458 (yyval.String) = (yyvsp[-5].String);
2463 #line 498 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2465 *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2466 (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2467 (yyval.String) = (yyvsp[-5].String);
2472 #line 503 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2474 *(yyvsp[-5].String) += "(" + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2475 (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2476 (yyval.String) = (yyvsp[-5].String);
2481 #line 508 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2483 *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2484 (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2485 (yyval.String) = (yyvsp[-7].String);
2490 #line 513 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2492 *(yyvsp[-7].String) += "(" + *(yyvsp[-5].Const).cnst + "," + *(yyvsp[-3].Const).cnst + "," + *(yyvsp[-1].Const).cnst + ")";
2493 (yyvsp[-5].Const).destroy(); (yyvsp[-3].Const).destroy(); (yyvsp[-1].Const).destroy();
2494 (yyval.String) = (yyvsp[-7].String);
2499 #line 523 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2501 *(yyvsp[-2].String) += ", " + *(yyvsp[0].Const).cnst;
2502 (yyvsp[0].Const).destroy();
2503 (yyval.String) = (yyvsp[-2].String);
2508 #line 528 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2509 { (yyval.String) = new std::string(*(yyvsp[0].Const).cnst); (yyvsp[0].Const).destroy(); ;}
2513 #line 543 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2519 #line 548 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2526 #line 551 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2528 *O << *(yyvsp[0].String) << "\n";
2529 delete (yyvsp[0].String);
2535 #line 556 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2537 *O << "module asm " << " " << *(yyvsp[0].String) << "\n";
2543 #line 560 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2545 *O << "implementation\n";
2551 #line 567 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2553 *O << *(yyvsp[-2].String) << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Type).newTy << "\n";
2554 // delete $2; delete $3; $4.destroy();
2560 #line 572 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2561 { // Function prototypes can be in const pool
2562 *O << *(yyvsp[0].String) << "\n";
2563 delete (yyvsp[0].String);
2569 #line 577 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2570 { // Asm blocks can be in the const pool
2571 *O << *(yyvsp[-2].String) << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n";
2572 delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String);
2578 #line 582 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2580 *O << *(yyvsp[-4].String) << " " << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Const).cnst << " "
2581 << *(yyvsp[0].String) << "\n";
2582 delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Const).destroy(); delete (yyvsp[0].String);
2588 #line 588 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2590 *O << *(yyvsp[-4].String) << " " << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy
2591 << " " << *(yyvsp[0].String) << "\n";
2592 delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
2598 #line 594 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2600 *O << *(yyvsp[-4].String) << " " << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy
2601 << " " << *(yyvsp[0].String) << "\n";
2602 delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
2608 #line 600 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2610 *O << *(yyvsp[-4].String) << " " << *(yyvsp[-3].String) << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy
2611 << " " << *(yyvsp[0].String) << "\n";
2612 delete (yyvsp[-4].String); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
2618 #line 606 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2620 *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n";
2621 delete (yyvsp[-1].String); delete (yyvsp[0].String);
2627 #line 611 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2629 *O << *(yyvsp[-2].String) << " = " << *(yyvsp[0].String) << "\n";
2630 delete (yyvsp[-2].String); delete (yyvsp[0].String);
2636 #line 616 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2643 #line 626 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2645 *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
2646 delete (yyvsp[0].String);
2647 (yyval.String) = (yyvsp[-2].String);
2652 #line 631 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2654 *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
2655 if (*(yyvsp[0].String) == "64")
2657 delete (yyvsp[0].String);
2658 (yyval.String) = (yyvsp[-2].String);
2663 #line 638 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2665 *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
2666 delete (yyvsp[0].String);
2667 (yyval.String) = (yyvsp[-2].String);
2672 #line 643 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2674 *(yyvsp[-2].String) += " = " + *(yyvsp[0].String);
2675 delete (yyvsp[0].String);
2676 (yyval.String) = (yyvsp[-2].String);
2681 #line 650 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2683 (yyvsp[-1].String)->insert(0, "[ ");
2684 *(yyvsp[-1].String) += " ]";
2685 (yyval.String) = (yyvsp[-1].String);
2690 #line 657 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2692 *(yyvsp[-2].String) += ", " + *(yyvsp[0].String);
2693 delete (yyvsp[0].String);
2694 (yyval.String) = (yyvsp[-2].String);
2699 #line 663 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2701 (yyval.String) = new std::string();
2706 #line 672 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2707 { (yyval.String) = new std::string(); ;}
2711 #line 674 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2713 (yyval.String) = (yyvsp[-1].Type).newTy;
2714 if (!(yyvsp[0].String)->empty())
2715 *(yyval.String) += " " + *(yyvsp[0].String);
2716 delete (yyvsp[0].String);
2721 #line 681 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2723 *(yyvsp[-2].String) += ", " + *(yyvsp[0].String);
2724 delete (yyvsp[0].String);
2729 #line 685 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2731 (yyval.String) = (yyvsp[0].String);
2736 #line 689 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2738 (yyval.String) = (yyvsp[0].String);
2743 #line 692 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2745 *(yyvsp[-2].String) += ", ...";
2746 (yyval.String) = (yyvsp[-2].String);
2747 delete (yyvsp[0].String);
2752 #line 697 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2754 (yyval.String) = (yyvsp[0].String);
2759 #line 700 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2760 { (yyval.String) = new std::string(); ;}
2764 #line 703 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2766 if (!(yyvsp[-7].String)->empty()) {
2767 *(yyvsp[-7].String) += " ";
2769 *(yyvsp[-7].String) += *(yyvsp[-6].Type).newTy + " " + *(yyvsp[-5].String) + "(" + *(yyvsp[-3].String) + ")";
2770 if (!(yyvsp[-1].String)->empty()) {
2771 *(yyvsp[-7].String) += " " + *(yyvsp[-1].String);
2773 if (!(yyvsp[0].String)->empty()) {
2774 *(yyvsp[-7].String) += " " + *(yyvsp[0].String);
2776 (yyvsp[-6].Type).destroy();
2777 delete (yyvsp[-5].String);
2778 delete (yyvsp[-3].String);
2779 delete (yyvsp[-1].String);
2780 delete (yyvsp[0].String);
2781 (yyval.String) = (yyvsp[-7].String);
2786 #line 722 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2788 (yyval.String) = new std::string("begin");
2793 #line 725 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2795 (yyval.String) = new std::string ("{");
2800 #line 729 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2802 if (!(yyvsp[-2].String)->empty()) {
2803 *O << *(yyvsp[-2].String) << " ";
2805 *O << *(yyvsp[-1].String) << " " << *(yyvsp[0].String) << "\n";
2806 delete (yyvsp[-2].String); delete (yyvsp[-1].String); delete (yyvsp[0].String);
2812 #line 738 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2813 { (yyval.String) = new std::string("end"); ;}
2817 #line 739 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2818 { (yyval.String) = new std::string("}"); ;}
2822 #line 741 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2824 if ((yyvsp[-1].String))
2825 *O << *(yyvsp[-1].String);
2826 *O << '\n' << *(yyvsp[0].String) << "\n";
2832 #line 749 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2833 { (yyval.String) = new std::string(); ;}
2837 #line 755 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2839 if (!(yyvsp[-1].String)->empty())
2840 *(yyvsp[-2].String) += " " + *(yyvsp[-1].String);
2841 *(yyvsp[-2].String) += " " + *(yyvsp[0].String);
2842 delete (yyvsp[-1].String);
2843 delete (yyvsp[0].String);
2844 (yyval.String) = (yyvsp[-2].String);
2849 #line 768 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2850 { (yyval.String) = new std::string(); ;}
2854 #line 774 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2856 (yyvsp[-1].String)->insert(0, "<");
2857 *(yyvsp[-1].String) += ">";
2858 (yyval.String) = (yyvsp[-1].String);
2863 #line 780 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2865 if (!(yyvsp[-3].String)->empty()) {
2866 *(yyvsp[-4].String) += " " + *(yyvsp[-3].String);
2868 *(yyvsp[-4].String) += " " + *(yyvsp[-2].String) + ", " + *(yyvsp[0].String);
2869 delete (yyvsp[-3].String); delete (yyvsp[-2].String); delete (yyvsp[0].String);
2870 (yyval.String) = (yyvsp[-4].String);
2875 #line 798 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2877 (yyval.Value).type = (yyvsp[-1].Type);
2878 (yyval.Value).val = new std::string(*(yyvsp[-1].Type).newTy + " ");
2879 *(yyval.Value).val += *(yyvsp[0].String);
2880 delete (yyvsp[0].String);
2885 #line 805 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2892 #line 808 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2893 { // Do not allow functions with 0 basic blocks
2899 #line 816 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2906 #line 820 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2908 *O << " " << *(yyvsp[0].String) << "\n";
2909 delete (yyvsp[0].String);
2915 #line 825 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2922 #line 828 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2924 *O << *(yyvsp[0].String) << "\n";
2925 delete (yyvsp[0].String);
2931 #line 834 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2932 { // Return with a result...
2933 *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Value).val << "\n";
2934 delete (yyvsp[-1].String); (yyvsp[0].Value).destroy();
2940 #line 839 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2941 { // Return with no result...
2942 *O << " " << *(yyvsp[-1].String) << " " << *(yyvsp[0].Type).newTy << "\n";
2943 delete (yyvsp[-1].String); (yyvsp[0].Type).destroy();
2949 #line 844 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2950 { // Unconditional Branch...
2951 *O << " " << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n";
2952 delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
2958 #line 849 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2960 *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].String) << ", "
2961 << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].String) << ", " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n";
2962 delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); delete (yyvsp[-6].String); (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String);
2963 (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
2969 #line 856 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2971 *O << " " << *(yyvsp[-8].String) << " " << *(yyvsp[-7].Type).newTy << " " << *(yyvsp[-6].String) << ", " << *(yyvsp[-4].Type).newTy
2972 << " " << *(yyvsp[-3].String) << " [" << *(yyvsp[-1].String) << " ]\n";
2973 delete (yyvsp[-8].String); (yyvsp[-7].Type).destroy(); delete (yyvsp[-6].String); (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); delete (yyvsp[-1].String);
2979 #line 862 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2981 *O << " " << *(yyvsp[-7].String) << " " << *(yyvsp[-6].Type).newTy << " " << *(yyvsp[-5].String) << ", "
2982 << *(yyvsp[-3].Type).newTy << " " << *(yyvsp[-2].String) << "[]\n";
2983 delete (yyvsp[-7].String); (yyvsp[-6].Type).destroy(); delete (yyvsp[-5].String); (yyvsp[-3].Type).destroy(); delete (yyvsp[-2].String);
2989 #line 869 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
2992 if (!(yyvsp[-13].String)->empty())
2993 *O << *(yyvsp[-13].String);
2994 *O << *(yyvsp[-12].String) << " " << *(yyvsp[-11].String) << " " << *(yyvsp[-10].Type).newTy << " " << *(yyvsp[-9].String) << " ("
2995 << *(yyvsp[-7].String) << ") " << *(yyvsp[-5].String) << " " << *(yyvsp[-4].Type).newTy << " " << *(yyvsp[-3].String) << " "
2996 << *(yyvsp[-2].String) << " " << *(yyvsp[-1].Type).newTy << " " << *(yyvsp[0].String) << "\n";
2997 delete (yyvsp[-13].String); delete (yyvsp[-12].String); delete (yyvsp[-11].String); (yyvsp[-10].Type).destroy(); delete (yyvsp[-9].String); delete (yyvsp[-7].String);
2998 delete (yyvsp[-5].String); (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy();
2999 delete (yyvsp[0].String);
3005 #line 881 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3007 *O << " " << *(yyvsp[0].String) << "\n";
3008 delete (yyvsp[0].String);
3014 #line 886 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3016 *O << " " << *(yyvsp[0].String) << "\n";
3017 delete (yyvsp[0].String);
3023 #line 892 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3025 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + " " + *(yyvsp[-3].String) + ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].String);
3026 (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3027 (yyval.String) = (yyvsp[-5].String);
3032 #line 897 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3034 (yyvsp[-3].String)->insert(0, *(yyvsp[-4].Type).newTy + " " );
3035 *(yyvsp[-3].String) += ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].String);
3036 (yyvsp[-4].Type).destroy(); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3037 (yyval.String) = (yyvsp[-3].String);
3042 #line 905 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3044 *(yyvsp[-1].String) += *(yyvsp[0].String);
3045 delete (yyvsp[0].String);
3046 (yyval.String) = (yyvsp[-1].String);
3051 #line 912 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3052 { // Used for PHI nodes
3053 (yyvsp[-3].String)->insert(0, *(yyvsp[-5].Type).newTy + "[");
3054 *(yyvsp[-3].String) += "," + *(yyvsp[-1].String) + "]";
3055 (yyvsp[-5].Type).destroy(); delete (yyvsp[-1].String);
3056 (yyval.String) = (yyvsp[-3].String);
3061 #line 918 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3063 *(yyvsp[-6].String) += ", [" + *(yyvsp[-3].String) + "," + *(yyvsp[-1].String) + "]";
3064 delete (yyvsp[-3].String); delete (yyvsp[-1].String);
3065 (yyval.String) = (yyvsp[-6].String);
3070 #line 926 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3071 { (yyval.String) = new std::string(*(yyvsp[0].Value).val); (yyvsp[0].Value).destroy(); ;}
3075 #line 927 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3077 *(yyvsp[-2].String) += ", " + *(yyvsp[0].Value).val;
3078 (yyvsp[0].Value).destroy();
3079 (yyval.String) = (yyvsp[-2].String);
3084 #line 936 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3085 { (yyval.String) = new std::string(); ;}
3089 #line 940 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3091 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
3092 delete (yyvsp[0].String);
3093 (yyval.String) = (yyvsp[-1].String);
3098 #line 948 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3100 *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].String) + ", " + *(yyvsp[0].String);
3101 (yyvsp[-3].Type).destroy(); delete (yyvsp[-2].String); delete (yyvsp[0].String);
3102 (yyval.String) = (yyvsp[-4].String);
3107 #line 953 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3109 *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].String) + ", " + *(yyvsp[0].String);
3110 (yyvsp[-3].Type).destroy(); delete (yyvsp[-2].String); delete (yyvsp[0].String);
3111 (yyval.String) = (yyvsp[-4].String);
3116 #line 958 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3118 *(yyvsp[-4].String) += " " + *(yyvsp[-3].Type).newTy + " " + *(yyvsp[-2].String) + ", " + *(yyvsp[0].String);
3119 (yyvsp[-3].Type).destroy(); delete (yyvsp[-2].String); delete (yyvsp[0].String);
3120 (yyval.String) = (yyvsp[-4].String);
3125 #line 963 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3127 *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val;
3128 (yyvsp[0].Value).destroy();
3129 (yyval.String) = (yyvsp[-1].String);
3134 #line 968 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3136 *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val;
3137 (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy();
3138 (yyval.String) = (yyvsp[-3].String);
3143 #line 973 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3145 const char *opcode = getCastOpcode((yyvsp[-2].Value).type, (yyvsp[0].Type));
3146 (yyval.String) = new std::string(opcode);
3147 *(yyval.String) += *(yyvsp[-2].Value).val + " " + *(yyvsp[-1].String) + " " + *(yyvsp[0].Type).newTy;
3148 delete (yyvsp[-3].String); (yyvsp[-2].Value).destroy();
3149 delete (yyvsp[-1].String); (yyvsp[0].Type).destroy();
3154 #line 980 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3156 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val;
3157 (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy();
3158 (yyval.String) = (yyvsp[-5].String);
3163 #line 985 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3165 *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Type).newTy;
3166 (yyvsp[-2].Value).destroy(); (yyvsp[0].Type).destroy();
3167 (yyval.String) = (yyvsp[-3].String);
3172 #line 990 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3174 *(yyvsp[-3].String) += " " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val;
3175 (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy();
3176 (yyval.String) = (yyvsp[-3].String);
3181 #line 995 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3183 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val;
3184 (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy();
3185 (yyval.String) = (yyvsp[-5].String);
3190 #line 1000 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3192 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Value).val + ", " + *(yyvsp[-2].Value).val + ", " + *(yyvsp[0].Value).val;
3193 (yyvsp[-4].Value).destroy(); (yyvsp[-2].Value).destroy(); (yyvsp[0].Value).destroy();
3194 (yyval.String) = (yyvsp[-5].String);
3199 #line 1005 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3201 *(yyvsp[-1].String) += " " + *(yyvsp[0].String);
3202 delete (yyvsp[0].String);
3203 (yyval.String) = (yyvsp[-1].String);
3208 #line 1010 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3210 if (!(yyvsp[-5].String)->empty())
3211 *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
3212 if (!(yyvsp[-6].String)->empty())
3213 *(yyvsp[-6].String) += " ";
3214 *(yyvsp[-6].String) += *(yyvsp[-4].Type).newTy + " " + *(yyvsp[-3].String) + "(" + *(yyvsp[-1].String) + ")";
3215 delete (yyvsp[-5].String); (yyvsp[-4].Type).destroy(); delete (yyvsp[-3].String); delete (yyvsp[-1].String);
3216 (yyval.String) = (yyvsp[-6].String);
3221 #line 1024 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3223 (yyvsp[0].String)->insert(0, ", ");
3224 (yyval.String) = (yyvsp[0].String);
3229 #line 1028 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3230 { (yyval.String) = new std::string(); ;}
3234 #line 1033 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3235 { (yyval.String) = new std::string(); ;}
3239 #line 1036 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3241 *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy;
3242 if (!(yyvsp[0].String)->empty())
3243 *(yyvsp[-2].String) += " " + *(yyvsp[0].String);
3244 (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3245 (yyval.String) = (yyvsp[-2].String);
3250 #line 1043 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3252 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].String);
3253 if (!(yyvsp[0].String)->empty())
3254 *(yyvsp[-5].String) += " " + *(yyvsp[0].String);
3255 (yyvsp[-4].Type).destroy(); (yyvsp[-2].Type).destroy(); delete (yyvsp[-1].String); delete (yyvsp[0].String);
3256 (yyval.String) = (yyvsp[-5].String);
3261 #line 1050 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3263 *(yyvsp[-2].String) += " " + *(yyvsp[-1].Type).newTy;
3264 if (!(yyvsp[0].String)->empty())
3265 *(yyvsp[-2].String) += " " + *(yyvsp[0].String);
3266 (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3267 (yyval.String) = (yyvsp[-2].String);
3272 #line 1057 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3274 *(yyvsp[-5].String) += " " + *(yyvsp[-4].Type).newTy + ", " + *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].String);
3275 if (!(yyvsp[0].String)->empty())
3276 *(yyvsp[-5].String) += " " + *(yyvsp[0].String);
3277 (yyvsp[-4].Type).destroy(); (yyvsp[-2].Type).destroy(); delete (yyvsp[-1].String); delete (yyvsp[0].String);
3278 (yyval.String) = (yyvsp[-5].String);
3283 #line 1064 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3285 *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val;
3286 (yyvsp[0].Value).destroy();
3287 (yyval.String) = (yyvsp[-1].String);
3292 #line 1069 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3294 if (!(yyvsp[-3].String)->empty())
3295 *(yyvsp[-3].String) += " ";
3296 *(yyvsp[-3].String) += *(yyvsp[-2].String) + " " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].String);
3297 delete (yyvsp[-2].String); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3298 (yyval.String) = (yyvsp[-3].String);
3303 #line 1076 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3305 if (!(yyvsp[-5].String)->empty())
3306 *(yyvsp[-5].String) += " ";
3307 *(yyvsp[-5].String) += *(yyvsp[-4].String) + " " + *(yyvsp[-3].Value).val + ", " + *(yyvsp[-1].Type).newTy + " " + *(yyvsp[0].String);
3308 delete (yyvsp[-4].String); (yyvsp[-3].Value).destroy(); (yyvsp[-1].Type).destroy(); delete (yyvsp[0].String);
3309 (yyval.String) = (yyvsp[-5].String);
3314 #line 1083 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3316 *(yyvsp[-3].String) += *(yyvsp[-2].Type).newTy + " " + *(yyvsp[-1].String) + " " + *(yyvsp[0].String);
3317 (yyvsp[-2].Type).destroy(); delete (yyvsp[-1].String); delete (yyvsp[0].String);
3318 (yyval.String) = (yyvsp[-3].String);
3326 /* Line 1126 of yacc.c. */
3327 #line 3328 "UpgradeParser.tab.c"
3333 YY_STACK_PRINT (yyss, yyssp);
3338 /* Now `shift' the result of the reduction. Determine what state
3339 that goes to, based on the state we popped back to and the rule
3340 number reduced by. */
3344 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3345 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3346 yystate = yytable[yystate];
3348 yystate = yydefgoto[yyn - YYNTOKENS];
3353 /*------------------------------------.
3354 | yyerrlab -- here on detecting error |
3355 `------------------------------------*/
3357 /* If not already recovering from an error, report this error. */
3362 yyn = yypact[yystate];
3364 if (YYPACT_NINF < yyn && yyn < YYLAST)
3366 int yytype = YYTRANSLATE (yychar);
3367 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3368 YYSIZE_T yysize = yysize0;
3370 int yysize_overflow = 0;
3372 # define YYERROR_VERBOSE_ARGS_MAXIMUM 5
3373 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3377 /* This is so xgettext sees the translatable formats that are
3378 constructed on the fly. */
3379 YY_("syntax error, unexpected %s");
3380 YY_("syntax error, unexpected %s, expecting %s");
3381 YY_("syntax error, unexpected %s, expecting %s or %s");
3382 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3383 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3387 static char const yyunexpected[] = "syntax error, unexpected %s";
3388 static char const yyexpecting[] = ", expecting %s";
3389 static char const yyor[] = " or %s";
3390 char yyformat[sizeof yyunexpected
3391 + sizeof yyexpecting - 1
3392 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3393 * (sizeof yyor - 1))];
3394 char const *yyprefix = yyexpecting;
3396 /* Start YYX at -YYN if negative to avoid negative indexes in
3398 int yyxbegin = yyn < 0 ? -yyn : 0;
3400 /* Stay within bounds of both yycheck and yytname. */
3401 int yychecklim = YYLAST - yyn;
3402 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3405 yyarg[0] = yytname[yytype];
3406 yyfmt = yystpcpy (yyformat, yyunexpected);
3408 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3409 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3411 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3415 yyformat[sizeof yyunexpected - 1] = '\0';
3418 yyarg[yycount++] = yytname[yyx];
3419 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3420 yysize_overflow |= yysize1 < yysize;
3422 yyfmt = yystpcpy (yyfmt, yyprefix);
3426 yyf = YY_(yyformat);
3427 yysize1 = yysize + yystrlen (yyf);
3428 yysize_overflow |= yysize1 < yysize;
3431 if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM)
3432 yymsg = (char *) YYSTACK_ALLOC (yysize);
3435 /* Avoid sprintf, as that infringes on the user's name space.
3436 Don't have undefined behavior even if the translation
3437 produced a string with the wrong number of "%s"s. */
3440 while ((*yyp = *yyf))
3442 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3444 yyp += yytnamerr (yyp, yyarg[yyi++]);
3454 YYSTACK_FREE (yymsg);
3458 yyerror (YY_("syntax error"));
3459 goto yyexhaustedlab;
3463 #endif /* YYERROR_VERBOSE */
3464 yyerror (YY_("syntax error"));
3469 if (yyerrstatus == 3)
3471 /* If just tried and failed to reuse look-ahead token after an
3472 error, discard it. */
3474 if (yychar <= YYEOF)
3476 /* Return failure if at end of input. */
3477 if (yychar == YYEOF)
3482 yydestruct ("Error: discarding", yytoken, &yylval);
3487 /* Else will try to reuse look-ahead token after shifting the error
3492 /*---------------------------------------------------.
3493 | yyerrorlab -- error raised explicitly by YYERROR. |
3494 `---------------------------------------------------*/
3497 /* Pacify compilers like GCC when the user code never invokes
3498 YYERROR and the label yyerrorlab therefore never appears in user
3509 /*-------------------------------------------------------------.
3510 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3511 `-------------------------------------------------------------*/
3513 yyerrstatus = 3; /* Each real token shifted decrements this. */
3517 yyn = yypact[yystate];
3518 if (yyn != YYPACT_NINF)
3521 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3529 /* Pop the current state because it cannot handle the error token. */
3534 yydestruct ("Error: popping", yystos[yystate], yyvsp);
3537 YY_STACK_PRINT (yyss, yyssp);
3546 /* Shift the error token. */
3547 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3553 /*-------------------------------------.
3554 | yyacceptlab -- YYACCEPT comes here. |
3555 `-------------------------------------*/
3560 /*-----------------------------------.
3561 | yyabortlab -- YYABORT comes here. |
3562 `-----------------------------------*/
3568 /*-------------------------------------------------.
3569 | yyexhaustedlab -- memory exhaustion comes here. |
3570 `-------------------------------------------------*/
3572 yyerror (YY_("memory exhausted"));
3578 if (yychar != YYEOF && yychar != YYEMPTY)
3579 yydestruct ("Cleanup: discarding lookahead",
3581 while (yyssp != yyss)
3583 yydestruct ("Cleanup: popping",
3584 yystos[*yyssp], yyvsp);
3589 YYSTACK_FREE (yyss);
3595 #line 1089 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y"
3598 int yyerror(const char *ErrorMsg) {
3600 = std::string((CurFilename == "-") ? std::string("<stdin>") : CurFilename)
3601 + ":" + llvm::utostr((unsigned) Upgradelineno) + ": ";
3602 std::string errMsg = std::string(ErrorMsg) + "\n" + where + " while reading ";
3603 if (yychar == YYEMPTY || yychar == 0)
3604 errMsg += "end-of-file.";
3606 errMsg += "token: '" + std::string(Upgradetext, Upgradeleng) + "'";
3607 std::cerr << errMsg << '\n';