52#define YYBISON_VERSION "3.8.2"
55#define YYSKELETON_NAME "yacc.c"
88#define parse_type(ps) builtin_type (ps->gdbarch ())
89#define parse_f_type(ps) builtin_f_type (ps->gdbarch ())
93#define GDB_YY_REMAP_PREFIX f_
109static int yylex (
void);
111static void yyerror (
const char *);
135#line 136 "f-exp.c.tmp"
139# define YY_CAST(Type, Val) static_cast<Type> (Val)
140# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
142# define YY_CAST(Type, Val) ((Type) (Val))
143# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
146# ifndef YY_NULLPTRPTR
147# if defined __cplusplus
148# if 201103L <= __cplusplus
149# define YY_NULLPTRPTR nullptr
151# define YY_NULLPTRPTR 0
154# define YY_NULLPTRPTR ((void*)0)
239#define STRING_LITERAL 260
240#define BOOLEAN_LITERAL 261
244#define NAME_OR_INT 265
248#define INT_S1_KEYWORD 269
249#define INT_S2_KEYWORD 270
250#define INT_KEYWORD 271
251#define INT_S4_KEYWORD 272
252#define INT_S8_KEYWORD 273
253#define LOGICAL_S1_KEYWORD 274
254#define LOGICAL_S2_KEYWORD 275
255#define LOGICAL_KEYWORD 276
256#define LOGICAL_S4_KEYWORD 277
257#define LOGICAL_S8_KEYWORD 278
258#define REAL_KEYWORD 279
259#define REAL_S4_KEYWORD 280
260#define REAL_S8_KEYWORD 281
261#define REAL_S16_KEYWORD 282
262#define COMPLEX_KEYWORD 283
263#define COMPLEX_S4_KEYWORD 284
264#define COMPLEX_S8_KEYWORD 285
265#define COMPLEX_S16_KEYWORD 286
273#define DOLLAR_VARIABLE 294
274#define ASSIGN_MODIFY 295
275#define UNOP_INTRINSIC 296
276#define BINOP_INTRINSIC 297
277#define UNOP_OR_BINOP_INTRINSIC 298
278#define UNOP_OR_BINOP_OR_TERNOP_INTRINSIC 299
279#define ABOVE_COMMA 300
283#define GREATERTHAN 304
292#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
319#line 320 "f-exp.c.tmp"
323# define YYSTYPE_IS_TRIVIAL 1
324# define YYSTYPE_IS_DECLARED 1
442#line 443 "f-exp.c.tmp"
453#ifndef __PTRDIFF_MAX__
455# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
466#ifdef __INT_LEAST8_MAX__
468#elif defined YY_STDINT_H
474#ifdef __INT_LEAST16_MAX__
476#elif defined YY_STDINT_H
488# undef UINT_LEAST8_MAX
489# undef UINT_LEAST16_MAX
490# define UINT_LEAST8_MAX 255
491# define UINT_LEAST16_MAX 65535
494#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
496#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
497 && UINT_LEAST8_MAX <= INT_MAX)
499#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
505#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
507#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
508 && UINT_LEAST16_MAX <= INT_MAX)
510#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
517# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
518# define YYPTRDIFF_T __PTRDIFF_TYPE__
519# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
520# elif defined PTRDIFF_MAX
524# define YYPTRDIFF_T ptrdiff_t
525# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
527# define YYPTRDIFF_T long
528# define YYPTRDIFF_MAXIMUM LONG_MAX
534# define YYSIZE_T __SIZE_TYPE__
536# define YYSIZE_T size_t
537# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
539# define YYSIZE_T size_t
541# define YYSIZE_T unsigned
545#define YYSIZE_MAXIMUM \
546 YY_CAST (YYPTRDIFF_T, \
547 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
548 ? YYPTRDIFF_MAXIMUM \
549 : YY_CAST (YYSIZE_T, -1)))
551#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
561# if defined YYENABLE_NLS && YYENABLE_NLS
564# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
568# define YY_(Msgid) Msgid
573#ifndef YY_ATTRIBUTE_PURE
574# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
575# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
577# define YY_ATTRIBUTE_PURE
581#ifndef YY_ATTRIBUTE_UNUSED
582# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
583# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
585# define YY_ATTRIBUTE_UNUSED
590#if ! defined lint || defined __GNUC__
591# define YY_USE(E) ((void) (E))
597#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
598# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
599# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
600 _Pragma ("GCC diagnostic push") \
601 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
603# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
604 _Pragma ("GCC diagnostic push") \
605 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
606 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
608# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
609 _Pragma ("GCC diagnostic pop")
611# define YY_INITIAL_VALUE(Value) Value
613#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
614# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
615# define YY_IGNORE_MAYBE_UNINITIALIZED_END
617#ifndef YY_INITIAL_VALUE
618# define YY_INITIAL_VALUE(Value)
621#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
622# define YY_IGNORE_USELESS_CAST_BEGIN \
623 _Pragma ("GCC diagnostic push") \
624 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
625# define YY_IGNORE_USELESS_CAST_END \
626 _Pragma ("GCC diagnostic pop")
628#ifndef YY_IGNORE_USELESS_CAST_BEGIN
629# define YY_IGNORE_USELESS_CAST_BEGIN
630# define YY_IGNORE_USELESS_CAST_END
634#define YY_ASSERT(E) ((void) (0 && (E)))
636#if !defined yyoverflow
640# ifdef YYSTACK_USE_ALLOCA
641# if YYSTACK_USE_ALLOCA
643# define YYSTACK_ALLOC __builtin_alloca
644# elif defined __BUILTIN_VA_ARG_INCR
647# define YYSTACK_ALLOC __alloca
648# elif defined _MSC_VER
649# define alloca _alloca
651# define YYSTACK_ALLOC alloca
652# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
656# define EXIT_SUCCESS 0
665# define YYSTACK_FREE(Ptr) do { ; } while (0)
666# ifndef YYSTACK_ALLOC_MAXIMUM
671# define YYSTACK_ALLOC_MAXIMUM 4032
674# define YYSTACK_ALLOC YYMALLOC
675# define YYSTACK_FREE YYFREE
676# ifndef YYSTACK_ALLOC_MAXIMUM
677# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
679# if (defined __cplusplus && ! defined EXIT_SUCCESS \
680 && ! ((defined YYMALLOC || defined xmalloc) \
681 && (defined YYFREE || defined xfree)))
684# define EXIT_SUCCESS 0
688# define YYMALLOC xmalloc
689# if ! defined xmalloc && ! defined EXIT_SUCCESS
695# if ! defined xfree && ! defined EXIT_SUCCESS
702#if (! defined yyoverflow \
703 && (! defined __cplusplus \
704 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
714# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
718# define YYSTACK_BYTES(N) \
719 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
720 + YYSTACK_GAP_MAXIMUM)
722# define YYCOPY_NEEDED 1
729# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
732 YYPTRDIFF_T yynewbytes; \
733 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
734 Stack = &yyptr->Stack_alloc; \
735 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
736 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
742#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
746# if defined __GNUC__ && 1 < __GNUC__
747# define YYCOPY(Dst, Src, Count) \
748 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
750# define YYCOPY(Dst, Src, Count) \
754 for (yyi = 0; yyi < (Count); yyi++) \
755 (Dst)[yyi] = (Src)[yyi]; \
782#define YYTRANSLATE(YYX) \
783 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
784 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
791 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
794 2, 2, 2, 2, 2, 2, 2, 66, 51, 2,
795 68, 69, 63, 61, 45, 62, 2, 64, 2, 2,
796 2, 2, 2, 2, 2, 2, 2, 2, 71, 2,
797 2, 47, 2, 48, 60, 2, 2, 2, 2, 2,
798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
800 2, 2, 2, 2, 50, 2, 2, 2, 2, 2,
801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803 2, 2, 2, 2, 49, 2, 70, 2, 2, 2,
804 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
805 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
806 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
807 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
816 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
817 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
818 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
819 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
820 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
821 46, 52, 53, 54, 55, 56, 57, 58, 59, 65,
829 0, 222, 222, 223, 226, 230, 235, 239, 243, 247,
830 251, 255, 259, 269, 268, 279, 285, 292, 291, 312,
831 311, 335, 338, 342, 346, 350, 356, 366, 375, 384,
832 395, 407, 419, 431, 443, 447, 457, 464, 471, 481,
833 493, 497, 501, 505, 509, 513, 517, 521, 525, 529,
834 533, 537, 541, 545, 549, 553, 557, 561, 566, 570,
835 574, 583, 590, 600, 609, 612, 616, 625, 629, 636,
836 644, 647, 648, 699, 701, 703, 705, 707, 710, 712,
837 714, 716, 718, 722, 724, 729, 731, 733, 735, 737,
838 739, 741, 743, 745, 747, 749, 751, 753, 755, 757,
839 759, 761, 763, 765, 767, 769, 771, 773, 775, 780,
845#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
856 "\"end of file\"",
"error",
"\"invalid token\"",
"INT",
"FLOAT",
857 "STRING_LITERAL",
"BOOLEAN_LITERAL",
"NAME",
"TYPENAME",
"COMPLETE",
858 "NAME_OR_INT",
"SIZEOF",
"KIND",
"ERROR",
"INT_S1_KEYWORD",
859 "INT_S2_KEYWORD",
"INT_KEYWORD",
"INT_S4_KEYWORD",
"INT_S8_KEYWORD",
860 "LOGICAL_S1_KEYWORD",
"LOGICAL_S2_KEYWORD",
"LOGICAL_KEYWORD",
861 "LOGICAL_S4_KEYWORD",
"LOGICAL_S8_KEYWORD",
"REAL_KEYWORD",
862 "REAL_S4_KEYWORD",
"REAL_S8_KEYWORD",
"REAL_S16_KEYWORD",
863 "COMPLEX_KEYWORD",
"COMPLEX_S4_KEYWORD",
"COMPLEX_S8_KEYWORD",
864 "COMPLEX_S16_KEYWORD",
"BOOL_AND",
"BOOL_OR",
"BOOL_NOT",
"SINGLE",
865 "DOUBLE",
"PRECISION",
"CHARACTER",
"DOLLAR_VARIABLE",
"ASSIGN_MODIFY",
866 "UNOP_INTRINSIC",
"BINOP_INTRINSIC",
"UNOP_OR_BINOP_INTRINSIC",
867 "UNOP_OR_BINOP_OR_TERNOP_INTRINSIC",
"','",
"ABOVE_COMMA",
"'='",
"'?'",
868 "'|'",
"'^'",
"'&'",
"EQUAL",
"NOTEQUAL",
"LESSTHAN",
"GREATERTHAN",
869 "LEQ",
"GEQ",
"LSH",
"RSH",
"'@'",
"'+'",
"'-'",
"'*'",
"'/'",
870 "STARSTAR",
"'%'",
"UNARY",
"'('",
"')'",
"'~'",
"':'",
"$accept",
871 "start",
"type_exp",
"exp",
"$@1",
"$@2",
"$@3",
"arglist",
"subrange",
872 "complexnum",
"variable",
"type",
"ptype",
"abs_decl",
"direct_abs_decl",
873 "func_mod",
"typebase",
"nonempty_typelist",
"name",
"name_not_typename",
YY_NULLPTRPTR
883#define YYPACT_NINF (-103)
885#define yypact_value_is_default(Yyn) \
886 ((Yyn) == YYPACT_NINF)
888#define YYTABLE_NINF (-1)
890#define yytable_value_is_error(Yyn) \
897 249, -103, -103, -103, -103, -103, -103, -103, 291, -62,
898 -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
899 -103, -103, -103, -103, -103, -103, -103, -103, 333, 6,
900 18, -103, -103, -61, -33, -26, -21, 333, 333, 333,
901 249, 333, 56, -103, 718, -103, -103, -103, -6, -103,
902 249, -20, 333, -20, -103, -103, -103, -103, 333, 333,
903 -103, -103, -20, -20, -20, 567, -16, -4, -20, -103,
904 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
905 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
906 333, 60, -103, -6, -2, 432, -103, 29, -103, 40,
907 373, 605, 681, 88, 88, 333, -103, -103, 333, 802,
908 753, 718, 718, 821, 839, 856, 733, 733, 53, 53,
909 53, 53, 133, 133, 72, 38, 38, 58, 58, 58,
910 -103, -103, -103, 54, 88, -103, -103, -103, 63, -103,
911 -103, 59, -40, -5, -103, 375, -103, -103, 333, 166,
912 456, -18, -103, -9, 718, -20, -103, 51, 104, -103,
913 812, -103, 643, 333, 493, 180, 88, -103, -103, -103,
914 75, -103, -103, 718, 333, 333, 530, 456, -103, -103,
923 0, 61, 63, 68, 67, 113, 85, 62, 0, 0,
924 86, 87, 88, 89, 90, 92, 93, 94, 95, 96,
925 97, 98, 99, 100, 101, 102, 103, 104, 0, 0,
926 0, 91, 65, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 3, 2, 64, 4, 70, 71, 69,
928 0, 11, 0, 9, 107, 105, 108, 106, 0, 0,
929 17, 19, 7, 8, 6, 0, 0, 0, 10, 1,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 13, 75, 73, 0, 72, 77, 82, 0,
933 0, 0, 0, 21, 21, 0, 5, 35, 0, 57,
934 58, 60, 59, 56, 55, 54, 48, 49, 52, 53,
935 50, 51, 46, 47, 40, 44, 45, 42, 43, 41,
936 111, 112, 39, 37, 21, 76, 80, 74, 0, 83,
937 109, 0, 0, 0, 81, 66, 12, 15, 0, 29,
938 22, 0, 23, 0, 34, 36, 38, 0, 0, 78,
939 0, 84, 0, 0, 28, 27, 0, 18, 20, 14,
940 0, 110, 16, 33, 0, 0, 26, 24, 25, 79,
947 -103, -103, -103, 0, -103, -103, -103, -102, -41, -103,
948 -103, 4, -103, 48, -103, 49, -103, -103, -103, -103
954 0, 42, 43, 150, 134, 103, 104, 151, 152, 66,
955 45, 140, 47, 96, 97, 98, 48, 142, 133, 49
963 44, 136, 153, 6, 46, 160, 52, 58, 51, 10,
964 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
965 21, 22, 23, 24, 25, 26, 27, 166, 53, 161,
966 29, 30, 157, 31, 54, 59, 166, 62, 63, 64,
967 65, 68, 60, 55, 67, 93, 56, 61, 92, 93,
968 65, 167, 100, 107, 99, 57, 69, 94, 101, 102,
969 168, 94, 95, 156, 139, 108, 95, 130, 131, 132,
970 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
971 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
972 129, 1, 2, 3, 4, 5, 166, 143, 7, 8,
973 9, 88, 89, 90, 91, 154, 92, 170, 155, 145,
974 158, 83, 84, 85, 86, 87, 88, 89, 90, 91,
975 169, 92, 28, 90, 91, 178, 92, 32, 159, 33,
976 34, 35, 36, 86, 87, 88, 89, 90, 91, 37,
977 92, 135, 137, 141, 179, 155, 144, 0, 162, 164,
978 38, 39, 0, 0, 0, 0, 40, 0, 41, 149,
979 0, 0, 0, 173, 171, 176, 177, 0, 0, 1,
980 2, 3, 4, 5, 180, 181, 7, 8, 9, 0,
981 0, 0, 183, 1, 2, 3, 4, 5, 0, 0,
982 7, 8, 9, 85, 86, 87, 88, 89, 90, 91,
983 28, 92, 0, 0, 0, 32, 0, 33, 34, 35,
984 36, 0, 0, 0, 28, 0, 0, 37, 0, 32,
985 0, 33, 34, 35, 36, 0, 0, 0, 38, 39,
986 0, 37, 0, 0, 40, 0, 41, 163, 0, 0,
987 0, 0, 38, 39, 0, 0, 0, 0, 40, 0,
988 41, 175, 1, 2, 3, 4, 5, 6, 0, 7,
989 8, 9, 0, 10, 11, 12, 13, 14, 15, 16,
990 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
991 27, 0, 0, 28, 29, 30, 0, 31, 32, 0,
992 33, 34, 35, 36, 1, 2, 3, 4, 5, 0,
993 37, 7, 8, 9, 0, 0, 0, 0, 0, 0,
994 0, 38, 39, 0, 0, 0, 0, 40, 0, 41,
995 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
996 32, 0, 33, 34, 35, 36, 1, 2, 3, 4,
997 5, 0, 37, 7, 8, 9, 0, 0, 0, 0,
998 0, 0, 0, 38, 39, 0, 0, 0, 0, 50,
999 0, 41, 0, 0, 0, 0, 0, 28, 0, 0,
1000 0, 0, 32, 0, 33, 34, 35, 36, 1, 2,
1001 3, 4, 5, 0, 37, 7, 8, 9, 0, 0,
1002 0, 0, 0, 0, 0, 38, 39, 0, 0, 0,
1003 0, 40, 0, 41, 0, 70, 71, 0, 0, 28,
1004 0, 0, 0, 72, 32, 0, 33, 34, 35, 36,
1005 73, 0, 74, 75, 76, 77, 78, 79, 80, 81,
1006 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1007 6, 92, 146, 40, 138, 41, 10, 11, 12, 13,
1008 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1009 24, 25, 26, 27, 0, 0, 0, 29, 30, 0,
1010 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 93, 0, 0, 0, 0, 70, 71,
1012 0, 0, 0, 0, 0, 94, 72, 0, 0, 0,
1013 95, 139, 0, 73, 0, 74, 75, 76, 77, 78,
1014 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1015 89, 90, 91, 0, 92, 70, 71, 165, 0, 0,
1016 0, 0, 0, 72, 0, 0, 0, 0, 0, 0,
1017 73, 0, 74, 75, 76, 77, 78, 79, 80, 81,
1018 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1019 0, 92, 70, 71, 174, 0, 0, 0, 0, 0,
1020 72, 0, 0, 0, 0, 0, 0, 73, 0, 74,
1021 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1022 85, 86, 87, 88, 89, 90, 91, 0, 92, 70,
1023 71, 182, 0, 0, 0, 0, 0, 72, 0, 0,
1024 0, 0, 105, 0, 73, 0, 74, 75, 76, 77,
1025 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1026 88, 89, 90, 91, 0, 92, 106, 70, 71, 0,
1027 0, 0, 0, 0, 0, 72, 0, 0, 0, 0,
1028 0, 0, 73, 0, 74, 75, 76, 77, 78, 79,
1029 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1030 90, 91, 0, 92, 147, 70, 71, 0, 0, 0,
1031 0, 0, 0, 72, 0, 0, 0, 0, 0, 0,
1032 73, 0, 74, 75, 76, 77, 78, 79, 80, 81,
1033 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1034 0, 92, 172, 70, 71, 0, 0, 0, 0, 0,
1035 0, 72, 0, 0, 0, 0, 148, 0, 73, 0,
1036 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1037 84, 85, 86, 87, 88, 89, 90, 91, 0, 92,
1038 70, 71, 0, 0, 0, 0, 0, 0, 72, 0,
1039 0, 0, 0, 0, 0, 73, 0, 74, 75, 76,
1040 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1041 87, 88, 89, 90, 91, 70, 92, 79, 80, 81,
1042 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1043 0, 92, 74, 75, 76, 77, 78, 79, 80, 81,
1044 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1045 6, 92, 0, 0, 0, 0, 10, 11, 12, 13,
1046 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1047 24, 25, 26, 27, 0, 0, 0, 29, 30, 0,
1048 31, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1049 83, 84, 85, 86, 87, 88, 89, 90, 91, 0,
1050 92, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1051 84, 85, 86, 87, 88, 89, 90, 91, 0, 92,
1052 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1053 86, 87, 88, 89, 90, 91, 0, 92, 77, 78,
1054 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1060 0, 3, 104, 8, 0, 45, 68, 68, 8, 14,
1061 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1062 25, 26, 27, 28, 29, 30, 31, 45, 28, 69,
1063 35, 36, 134, 38, 28, 68, 45, 37, 38, 39,
1064 40, 41, 68, 37, 40, 51, 28, 68, 68, 51,
1065 50, 69, 52, 69, 50, 37, 0, 63, 58, 59,
1066 69, 63, 68, 9, 69, 69, 68, 7, 8, 9,
1067 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1068 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1069 90, 3, 4, 5, 6, 7, 45, 68, 10, 11,
1070 12, 63, 64, 65, 66, 105, 68, 3, 108, 69,
1071 47, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1072 69, 68, 34, 65, 66, 166, 68, 39, 69, 41,
1073 42, 43, 44, 61, 62, 63, 64, 65, 66, 51,
1074 68, 93, 94, 95, 69, 145, 97, -1, 148, 149,
1075 62, 63, -1, -1, -1, -1, 68, -1, 70, 71,
1076 -1, -1, -1, 163, 160, 165, 166, -1, -1, 3,
1077 4, 5, 6, 7, 174, 175, 10, 11, 12, -1,
1078 -1, -1, 182, 3, 4, 5, 6, 7, -1, -1,
1079 10, 11, 12, 60, 61, 62, 63, 64, 65, 66,
1080 34, 68, -1, -1, -1, 39, -1, 41, 42, 43,
1081 44, -1, -1, -1, 34, -1, -1, 51, -1, 39,
1082 -1, 41, 42, 43, 44, -1, -1, -1, 62, 63,
1083 -1, 51, -1, -1, 68, -1, 70, 71, -1, -1,
1084 -1, -1, 62, 63, -1, -1, -1, -1, 68, -1,
1085 70, 71, 3, 4, 5, 6, 7, 8, -1, 10,
1086 11, 12, -1, 14, 15, 16, 17, 18, 19, 20,
1087 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1088 31, -1, -1, 34, 35, 36, -1, 38, 39, -1,
1089 41, 42, 43, 44, 3, 4, 5, 6, 7, -1,
1090 51, 10, 11, 12, -1, -1, -1, -1, -1, -1,
1091 -1, 62, 63, -1, -1, -1, -1, 68, -1, 70,
1092 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
1093 39, -1, 41, 42, 43, 44, 3, 4, 5, 6,
1094 7, -1, 51, 10, 11, 12, -1, -1, -1, -1,
1095 -1, -1, -1, 62, 63, -1, -1, -1, -1, 68,
1096 -1, 70, -1, -1, -1, -1, -1, 34, -1, -1,
1097 -1, -1, 39, -1, 41, 42, 43, 44, 3, 4,
1098 5, 6, 7, -1, 51, 10, 11, 12, -1, -1,
1099 -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
1100 -1, 68, -1, 70, -1, 32, 33, -1, -1, 34,
1101 -1, -1, -1, 40, 39, -1, 41, 42, 43, 44,
1102 47, -1, 49, 50, 51, 52, 53, 54, 55, 56,
1103 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1104 8, 68, 69, 68, 12, 70, 14, 15, 16, 17,
1105 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1106 28, 29, 30, 31, -1, -1, -1, 35, 36, -1,
1107 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, 51, -1, -1, -1, -1, 32, 33,
1109 -1, -1, -1, -1, -1, 63, 40, -1, -1, -1,
1110 68, 69, -1, 47, -1, 49, 50, 51, 52, 53,
1111 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1112 64, 65, 66, -1, 68, 32, 33, 71, -1, -1,
1113 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
1114 47, -1, 49, 50, 51, 52, 53, 54, 55, 56,
1115 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1116 -1, 68, 32, 33, 71, -1, -1, -1, -1, -1,
1117 40, -1, -1, -1, -1, -1, -1, 47, -1, 49,
1118 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1119 60, 61, 62, 63, 64, 65, 66, -1, 68, 32,
1120 33, 71, -1, -1, -1, -1, -1, 40, -1, -1,
1121 -1, -1, 45, -1, 47, -1, 49, 50, 51, 52,
1122 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1123 63, 64, 65, 66, -1, 68, 69, 32, 33, -1,
1124 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
1125 -1, -1, 47, -1, 49, 50, 51, 52, 53, 54,
1126 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1127 65, 66, -1, 68, 69, 32, 33, -1, -1, -1,
1128 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
1129 47, -1, 49, 50, 51, 52, 53, 54, 55, 56,
1130 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1131 -1, 68, 69, 32, 33, -1, -1, -1, -1, -1,
1132 -1, 40, -1, -1, -1, -1, 45, -1, 47, -1,
1133 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1134 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
1135 32, 33, -1, -1, -1, -1, -1, -1, 40, -1,
1136 -1, -1, -1, -1, -1, 47, -1, 49, 50, 51,
1137 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1138 62, 63, 64, 65, 66, 32, 68, 54, 55, 56,
1139 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1140 -1, 68, 49, 50, 51, 52, 53, 54, 55, 56,
1141 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1142 8, 68, -1, -1, -1, -1, 14, 15, 16, 17,
1143 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1144 28, 29, 30, 31, -1, -1, -1, 35, 36, -1,
1145 38, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1146 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
1147 68, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1148 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
1149 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1150 61, 62, 63, 64, 65, 66, -1, 68, 52, 53,
1151 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1159 0, 3, 4, 5, 6, 7, 8, 10, 11, 12,
1160 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1161 24, 25, 26, 27, 28, 29, 30, 31, 34, 35,
1162 36, 38, 39, 41, 42, 43, 44, 51, 62, 63,
1163 68, 70, 73, 74, 75, 82, 83, 84, 88, 91,
1164 68, 75, 68, 75, 28, 37, 28, 37, 68, 68,
1165 68, 68, 75, 75, 75, 75, 81, 83, 75, 0,
1166 32, 33, 40, 47, 49, 50, 51, 52, 53, 54,
1167 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1168 65, 66, 68, 51, 63, 68, 85, 86, 87, 83,
1169 75, 75, 75, 77, 78, 45, 69, 69, 69, 75,
1170 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1171 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1172 7, 8, 9, 90, 76, 85, 3, 85, 12, 69,
1173 83, 85, 89, 68, 87, 69, 69, 69, 45, 71,
1174 75, 79, 80, 79, 75, 75, 9, 79, 47, 69,
1175 45, 69, 75, 71, 75, 71, 45, 69, 69, 69,
1176 3, 83, 69, 75, 71, 71, 75, 75, 80, 69,
1183 0, 72, 73, 73, 74, 75, 75, 75, 75, 75,
1184 75, 75, 75, 76, 75, 75, 75, 77, 75, 78,
1185 75, 79, 79, 79, 79, 79, 80, 80, 80, 80,
1186 80, 80, 80, 80, 81, 75, 75, 75, 75, 75,
1187 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1188 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
1189 75, 75, 75, 75, 75, 75, 75, 75, 75, 82,
1190 83, 84, 84, 85, 85, 85, 85, 85, 86, 86,
1191 86, 86, 86, 87, 87, 88, 88, 88, 88, 88,
1192 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1193 88, 88, 88, 88, 88, 88, 88, 88, 88, 89,
1200 0, 2, 1, 1, 1, 3, 2, 2, 2, 2,
1201 2, 2, 4, 0, 5, 4, 6, 0, 5, 0,
1202 5, 0, 1, 1, 3, 3, 3, 2, 2, 1,
1203 5, 4, 4, 3, 3, 3, 4, 3, 4, 3,
1204 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1205 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1206 3, 1, 1, 1, 1, 1, 4, 1, 1, 1,
1207 1, 1, 2, 1, 2, 1, 2, 1, 3, 5,
1208 2, 2, 1, 2, 3, 1, 1, 1, 1, 1,
1209 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1210 1, 1, 1, 1, 1, 2, 2, 2, 2, 1,
1217#define yyerrok (yyerrstatus = 0)
1218#define yyclearin (yychar = YYEMPTY)
1220#define YYACCEPT goto yyacceptlab
1221#define YYABORT goto yyabortlab
1222#define YYERROR goto yyerrorlab
1223#define YYNOMEM goto yyexhaustedlab
1226#define YYRECOVERING() (!!yyerrstatus)
1228#define YYBACKUP(Token, Value) \
1230 if (yychar == YYEMPTY) \
1234 YYPOPSTACK (yylen); \
1240 yyerror (YY_("syntax error: cannot back up")); \
1247#define YYERRCODE YYUNDEF
1255# define YYFPRINTF fprintf
1258# define YYDPRINTF(Args) \
1267# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1271 YYFPRINTF (stderr, "%s ", Title); \
1272 yy_symbol_print (stderr, \
1274 YYFPRINTF (stderr, "\n"); \
1287 FILE *yyoutput = yyo;
1321 for (; yybottom <= yytop; yybottom++)
1323 int yybot = *yybottom;
1329# define YY_STACK_PRINT(Bottom, Top) \
1332 yy_stack_print ((Bottom), (Top)); \
1347 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1350 for (yyi = 0; yyi < yynrhs; yyi++)
1355 &
yyvsp[(yyi + 1) - (yynrhs)]);
1360# define YY_REDUCE_PRINT(Rule) \
1363 yy_reduce_print (yyssp, yyvsp, Rule); \
1370# define YYDPRINTF(Args) ((void) 0)
1371# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1372# define YY_STACK_PRINT(Bottom, Top)
1373# define YY_REDUCE_PRINT(Rule)
1379# define YYINITDEPTH 200
1390# define YYMAXDEPTH 10000
1437 int yyerrstatus = 0;
1466#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1472 YYDPRINTF ((stderr,
"Starting parse\n"));
1500#if !defined yyoverflow && !defined YYSTACK_RELOCATE
1507# if defined yyoverflow
1519 yyoverflow (
YY_(
"memory exhausted"),
1543# undef YYSTACK_RELOCATE
1553 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1586 YYDPRINTF ((stderr,
"Reading a token\n"));
1594 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1677#line 1679 "f-exp.c.tmp"
1683#line 1685 "f-exp.c.tmp"
1689#line 1691 "f-exp.c.tmp"
1695#line 1697 "f-exp.c.tmp"
1701#line 1703 "f-exp.c.tmp"
1707#line 1709 "f-exp.c.tmp"
1713#line 1715 "f-exp.c.tmp"
1719#line 1721 "f-exp.c.tmp"
1725#line 1727 "f-exp.c.tmp"
1731#line 1733 "f-exp.c.tmp"
1737 std::vector<operation_up> args
1742#line 1744 "f-exp.c.tmp"
1750#line 1752 "f-exp.c.tmp"
1758#line 1760 "f-exp.c.tmp"
1764#line 1766 "f-exp.c.tmp"
1781 gdb_assert_not_reached
1782 (
"wrong number of arguments for intrinsics");
1785#line 1787 "f-exp.c.tmp"
1791#line 1793 "f-exp.c.tmp"
1811 gdb_assert_not_reached
1812 (
"wrong number of arguments for intrinsics");
1815#line 1817 "f-exp.c.tmp"
1821#line 1823 "f-exp.c.tmp"
1827#line 1829 "f-exp.c.tmp"
1833#line 1835 "f-exp.c.tmp"
1839#line 1841 "f-exp.c.tmp"
1851#line 1853 "f-exp.c.tmp"
1862#line 1864 "f-exp.c.tmp"
1873#line 1875 "f-exp.c.tmp"
1885#line 1887 "f-exp.c.tmp"
1896 std::move (low), std::move (high),
1897 std::move (stride));
1899#line 1901 "f-exp.c.tmp"
1911 std::move (stride));
1913#line 1915 "f-exp.c.tmp"
1925 std::move (stride));
1927#line 1929 "f-exp.c.tmp"
1939 std::move (stride));
1941#line 1943 "f-exp.c.tmp"
1947#line 1949 "f-exp.c.tmp"
1956 (std::move (lhs), std::move (rhs),
1959#line 1961 "f-exp.c.tmp"
1968#line 1970 "f-exp.c.tmp"
1977#line 1979 "f-exp.c.tmp"
1989#line 1991 "f-exp.c.tmp"
2001#line 2003 "f-exp.c.tmp"
2007#line 2009 "f-exp.c.tmp"
2013#line 2015 "f-exp.c.tmp"
2019#line 2021 "f-exp.c.tmp"
2025#line 2027 "f-exp.c.tmp"
2031#line 2033 "f-exp.c.tmp"
2037#line 2039 "f-exp.c.tmp"
2043#line 2045 "f-exp.c.tmp"
2049#line 2051 "f-exp.c.tmp"
2055#line 2057 "f-exp.c.tmp"
2061#line 2063 "f-exp.c.tmp"
2067#line 2069 "f-exp.c.tmp"
2073#line 2075 "f-exp.c.tmp"
2079#line 2081 "f-exp.c.tmp"
2085#line 2087 "f-exp.c.tmp"
2091#line 2093 "f-exp.c.tmp"
2097#line 2099 "f-exp.c.tmp"
2103#line 2105 "f-exp.c.tmp"
2109#line 2111 "f-exp.c.tmp"
2115#line 2117 "f-exp.c.tmp"
2121#line 2123 "f-exp.c.tmp"
2130 ((
yyvsp[-1].opcode), std::move (lhs), std::move (rhs));
2132#line 2134 "f-exp.c.tmp"
2141#line 2143 "f-exp.c.tmp"
2148 (
yyvsp[0].ssym).stoken.length, 0, &val);
2153#line 2155 "f-exp.c.tmp"
2164#line 2166 "f-exp.c.tmp"
2170#line 2172 "f-exp.c.tmp"
2179 (
yyvsp[-1].tval)->length ());
2181#line 2183 "f-exp.c.tmp"
2187#line 2189 "f-exp.c.tmp"
2196#line 2198 "f-exp.c.tmp"
2205#line 2207 "f-exp.c.tmp"
2214 struct type *follow_type = (
yyvsp[-1].tval);
2215 struct type *range_type;
2231 if (array_size != -1)
2240 follow_type, range_type);
2256 (
yyval.tval) = follow_type;
2258#line 2260 "f-exp.c.tmp"
2264#line 2266 "f-exp.c.tmp"
2270#line 2272 "f-exp.c.tmp"
2276#line 2278 "f-exp.c.tmp"
2282#line 2284 "f-exp.c.tmp"
2288#line 2290 "f-exp.c.tmp"
2294#line 2296 "f-exp.c.tmp"
2300#line 2302 "f-exp.c.tmp"
2306#line 2308 "f-exp.c.tmp"
2312#line 2314 "f-exp.c.tmp"
2317 { (
yyval.voidval) = 0; }
2318#line 2320 "f-exp.c.tmp"
2324#line 2326 "f-exp.c.tmp"
2330#line 2332 "f-exp.c.tmp"
2336#line 2338 "f-exp.c.tmp"
2342#line 2344 "f-exp.c.tmp"
2348#line 2350 "f-exp.c.tmp"
2354#line 2356 "f-exp.c.tmp"
2360#line 2362 "f-exp.c.tmp"
2366#line 2368 "f-exp.c.tmp"
2372#line 2374 "f-exp.c.tmp"
2378#line 2380 "f-exp.c.tmp"
2384#line 2386 "f-exp.c.tmp"
2390#line 2392 "f-exp.c.tmp"
2396#line 2398 "f-exp.c.tmp"
2402#line 2404 "f-exp.c.tmp"
2408#line 2410 "f-exp.c.tmp"
2414#line 2416 "f-exp.c.tmp"
2420#line 2422 "f-exp.c.tmp"
2426#line 2428 "f-exp.c.tmp"
2432#line 2434 "f-exp.c.tmp"
2438#line 2440 "f-exp.c.tmp"
2444#line 2446 "f-exp.c.tmp"
2450#line 2452 "f-exp.c.tmp"
2456#line 2458 "f-exp.c.tmp"
2462#line 2464 "f-exp.c.tmp"
2468#line 2470 "f-exp.c.tmp"
2474 (
yyval.ivec)[0] = 1;
2477#line 2479 "f-exp.c.tmp"
2482 {
int len =
sizeof (
struct type *) * (++((
yyvsp[-2].ivec)[0]) + 1);
2486#line 2488 "f-exp.c.tmp"
2492#line 2494 "f-exp.c.tmp"
2498#line 2500 "f-exp.c.tmp"
2502#line 2504 "f-exp.c.tmp"
2552 if (yyerrstatus == 3)
2712 case FORTRAN_CEILING:
2715 case UNOP_FORTRAN_ALLOCATED:
2718 case UNOP_FORTRAN_RANK:
2721 case UNOP_FORTRAN_SHAPE:
2724 case UNOP_FORTRAN_LOC:
2727 case FORTRAN_ASSOCIATED:
2730 case FORTRAN_ARRAY_SIZE:
2736 case FORTRAN_LBOUND:
2737 case FORTRAN_UBOUND:
2741 gdb_assert_not_reached (
"unhandled intrinsic");
2754 fortran_wrap2_kind<fortran_floor_operation_2arg>
2757 case FORTRAN_CEILING:
2758 fortran_wrap2_kind<fortran_ceil_operation_2arg>
2764 case BINOP_FORTRAN_MODULO:
2770 case FORTRAN_ASSOCIATED:
2773 case FORTRAN_ARRAY_SIZE:
2776 case FORTRAN_LBOUND:
2777 case FORTRAN_UBOUND:
2786 gdb_assert_not_reached (
"unhandled intrinsic");
2798 case FORTRAN_LBOUND:
2799 case FORTRAN_UBOUND:
2807 gdb_assert (
val !=
nullptr);
2814 std::move (arg2), follow_type);
2817 case FORTRAN_ARRAY_SIZE:
2818 fortran_wrap3_kind<fortran_array_size_3arg>
2822 fortran_wrap3_kind<fortran_cmplx_operation_3arg>
2826 gdb_assert_not_reached (
"unhandled intrinsic");
2843 gdb_assert (
val !=
nullptr);
2864 gdb_assert (
val !=
nullptr);
2868 pstate->
push_new<
T> (std::move (arg1), std::move (arg2), follow_type);
2879 const char *p,
int len,
int parsed_float,
YYSTYPE *putithere)
2888 struct type *signed_type;
2889 struct type *unsigned_type;
2899 for (tmp2 = tmp; *tmp2; ++tmp2)
2900 if (*tmp2 ==
'd' || *tmp2 ==
'D')
2913 if (p[0] ==
'0' && len > 1)
2948 if (len == 0 && c ==
'l')
2950 else if (len == 0 && c ==
'u')
2955 if (c >=
'0' && c <=
'9')
2957 else if (c >=
'a' && c <=
'f')
2967 if (prevn == 0 && n == 0)
2995 unsigned_type =
parse_type (par_state)->builtin_unsigned_long;
2996 signed_type =
parse_type (par_state)->builtin_long;
3001 unsigned_type =
parse_type (par_state)->builtin_unsigned_int;
3002 signed_type =
parse_type (par_state)->builtin_int;
3004 high_bit = ((ULONGEST)1) << (bits_available - 1);
3007 && ((n >> 2) >> (bits_available - 2)))
3015 if (unsigned_p || (n & high_bit))
3033 ULONGEST uval =
static_cast <ULONGEST
> (
val);
3035 error (_(
"kind value out of range"));
3036 ival =
static_cast <int> (uval);
3041 error (_(
"kind value out of range"));
3042 ival =
static_cast <int> (
val);
3069 else if (kind == 16)
3078 else if (kind == 16)
3104 error (_(
"unsupported kind %d for type %s"),
3131 {
".and.",
BOOL_AND, OP_NULL,
false },
3132 {
".or.",
BOOL_OR, OP_NULL,
false },
3133 {
".not.",
BOOL_NOT, OP_NULL,
false },
3134 {
".eq.",
EQUAL, OP_NULL,
false },
3135 {
".eqv.",
EQUAL, OP_NULL,
false },
3136 {
".neqv.",
NOTEQUAL, OP_NULL,
false },
3137 {
".xor.",
NOTEQUAL, OP_NULL,
false },
3138 {
"==",
EQUAL, OP_NULL,
false },
3139 {
".ne.",
NOTEQUAL, OP_NULL,
false },
3140 {
"/=",
NOTEQUAL, OP_NULL,
false },
3141 {
".le.",
LEQ, OP_NULL,
false },
3142 {
"<=",
LEQ, OP_NULL,
false },
3143 {
".ge.",
GEQ, OP_NULL,
false },
3144 {
">=",
GEQ, OP_NULL,
false },
3147 {
".lt.",
LESSTHAN, OP_NULL,
false },
3149 {
"**",
STARSTAR, BINOP_EXP,
false },
3173 {
"character",
CHARACTER, OP_NULL,
true },
3192 {
"sizeof",
SIZEOF, OP_NULL,
true },
3193 {
"single",
SINGLE, OP_NULL,
true },
3194 {
"double",
DOUBLE, OP_NULL,
true },
3195 {
"precision",
PRECISION, OP_NULL,
true },
3198 {
"kind",
KIND, OP_NULL,
false },
3223#define GROWBY_MIN_SIZE 64
3225#define CHECKBUF(size) \
3227 if (tempbufindex + (size) >= tempbufsize) \
3229 growbuf_by_size (size); \
3264 for (
tempbufindex = 0, tokptr++; *tokptr !=
'\0'; tokptr++)
3306 const char *tokstart;
3324 if (strncasecmp (tokstart, candidate.name,
3325 strlen (candidate.name)) == 0)
3336 if (strncasecmp (tokstart, candidate.oper,
3337 strlen (candidate.oper)) == 0)
3339 gdb_assert (!candidate.case_sensitive);
3342 return candidate.token;
3345 switch (c = *tokstart)
3405 int got_dot = 0, got_e = 0, got_d = 0, toktype;
3406 const char *p = tokstart;
3409 if (c ==
'0' && (p[1] ==
'x' || p[1] ==
'X'))
3414 else if (c ==
'0' && (p[1]==
't' || p[1]==
'T'
3415 || p[1]==
'd' || p[1]==
'D'))
3423 if (!hex && !got_e && (*p ==
'e' || *p ==
'E'))
3424 got_dot = got_e = 1;
3425 else if (!hex && !got_d && (*p ==
'd' || *p ==
'D'))
3426 got_dot = got_d = 1;
3427 else if (!hex && !got_dot && *p ==
'.')
3429 else if (((got_e && (p[-1] ==
'e' || p[-1] ==
'E'))
3430 || (got_d && (p[-1] ==
'd' || p[-1] ==
'D')))
3431 && (*p ==
'-' || *p ==
'+'))
3437 else if ((*p <
'0' || *p >
'9')
3438 && ((*p <
'a' || *p >
'z')
3439 && (*p <
'A' || *p >
'Z')))
3443 got_dot|got_e|got_d,
3445 if (toktype ==
ERROR)
3447 char *err_copy = (
char *) alloca (p - tokstart + 1);
3449 memcpy (err_copy, tokstart, p - tokstart);
3450 err_copy[p - tokstart] = 0;
3451 error (_(
"Invalid number \"%s\"."), err_copy);
3484 if (!(c ==
'_' || c ==
'$' || c ==
':'
3485 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z')))
3487 error (_(
"Invalid character '%c' in expression."), c);
3490 for (c = tokstart[namelen];
3491 (c ==
'_' || c ==
'$' || c ==
':' || (c >=
'0' && c <=
'9')
3492 || (c >=
'a' && c <=
'z') || (c >=
'A' && c <=
'Z'));
3493 c = tokstart[++namelen]);
3498 if (namelen == 2 && tokstart[0] ==
'i' && tokstart[1] ==
'f')
3506 if (strlen (
keyword.oper) == namelen
3508 && strncasecmp (tokstart,
keyword.oper, namelen) == 0)
3510 && strncmp (tokstart,
keyword.oper, namelen) == 0)))
3519 if (*tokstart ==
'$')
3536 for (
const auto &domain : lookup_domains)
3560 && ((tokstart[0] >=
'a' && tokstart[0] <
'a' +
input_radix - 10)
3561 || (tokstart[0] >=
'A' && tokstart[0] <
'A' +
input_radix - 10)))
3587 scoped_restore pstate_restore = make_scoped_restore (&
pstate);
3588 scoped_restore restore_yydebug = make_scoped_restore (&
yydebug,
3590 gdb_assert (par_state != NULL);
3597 scoped_restore restore_type_stack = make_scoped_restore (&
type_stack,
3612 error (_(
"A %s in expression, near `%s'."), msg,
pstate->
lexptr);
static struct parser_state * pstate
void * xrealloc(void *ptr, size_t size)
static bool last_was_structop
static int saw_name_at_eof
int parser(struct parser_state *ps) const override
@ EVAL_AVOID_SIDE_EFFECTS
@ RANGE_LOW_BOUND_DEFAULT
@ RANGE_HIGH_BOUND_DEFAULT
static const char * yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
static void wrap_ternop_intrinsic(exp_opcode opcode)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define COMPLEX_S16_KEYWORD
#define LOGICAL_S2_KEYWORD
static const yytype_int8 yytranslate[]
static const token f_keywords[]
@ YYSYMBOL_name_not_typename
@ YYSYMBOL_STRING_LITERAL
@ YYSYMBOL_LOGICAL_KEYWORD
@ YYSYMBOL_UNOP_OR_BINOP_INTRINSIC
@ YYSYMBOL_INT_S8_KEYWORD
@ YYSYMBOL_COMPLEX_S16_KEYWORD
@ YYSYMBOL_REAL_S8_KEYWORD
@ YYSYMBOL_REAL_S4_KEYWORD
@ YYSYMBOL_COMPLEX_KEYWORD
@ YYSYMBOL_direct_abs_decl
@ YYSYMBOL_REAL_S16_KEYWORD
@ YYSYMBOL_LOGICAL_S1_KEYWORD
@ YYSYMBOL_UNOP_INTRINSIC
@ YYSYMBOL_INT_S2_KEYWORD
@ YYSYMBOL_INT_S4_KEYWORD
@ YYSYMBOL_BOOLEAN_LITERAL
@ YYSYMBOL_LOGICAL_S4_KEYWORD
@ YYSYMBOL_COMPLEX_S4_KEYWORD
@ YYSYMBOL_COMPLEX_S8_KEYWORD
@ YYSYMBOL_BINOP_INTRINSIC
@ YYSYMBOL_INT_S1_KEYWORD
@ YYSYMBOL_DOLLAR_VARIABLE
@ YYSYMBOL_nonempty_typelist
@ YYSYMBOL_LOGICAL_S8_KEYWORD
@ YYSYMBOL_LOGICAL_S2_KEYWORD
@ YYSYMBOL_UNOP_OR_BINOP_OR_TERNOP_INTRINSIC
#define LOGICAL_S1_KEYWORD
static void yy_symbol_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
static struct type_stack * type_stack
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
static void wrap_binop_intrinsic(exp_opcode opcode)
static const yytype_int8 yydefact[]
#define YY_IGNORE_USELESS_CAST_END
#define COMPLEX_S8_KEYWORD
static const yytype_int16 yyrline[]
#define YY_REDUCE_PRINT(Rule)
#define UNOP_OR_BINOP_OR_TERNOP_INTRINSIC
#define YY_CAST(Type, Val)
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
static struct parser_state * pstate
static const yytype_int16 yypact[]
static const yytype_uint8 yydefgoto[]
static void wrap_unop_intrinsic(exp_opcode opcode)
static const struct token fortran_operators[]
#define YY_ACCESSING_SYMBOL(State)
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
static void growbuf_by_size(int)
static int parse_number(struct parser_state *, const char *, int, int, YYSTYPE *)
#define YY_STACK_PRINT(Bottom, Top)
static void yy_symbol_value_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
#define YY_IGNORE_USELESS_CAST_BEGIN
static const struct f77_boolean_val boolean_values[]
#define LOGICAL_S4_KEYWORD
static const yytype_int8 yyr2[]
#define COMPLEX_S4_KEYWORD
#define UNOP_OR_BINOP_INTRINSIC
static void yy_reduce_print(yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
static bool last_was_structop
#define yytable_value_is_error(Yyn)
static bool saw_name_at_eof
static const yytype_int8 yystos[]
#define YY_ATTRIBUTE_UNUSED
static const char *const yytname[]
static const yytype_int8 yypgoto[]
static void fortran_wrap3_kind(type *base_type)
static const yytype_int8 yyr1[]
enum yytokentype yytoken_kind_t
static struct type * convert_to_kind_type(struct type *basetype, int kind)
static void fortran_wrap2_kind(type *base_type)
#define LOGICAL_S8_KEYWORD
static int match_string_literal(void)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define yypact_value_is_default(Yyn)
static void push_kind_type(LONGEST val, struct type *type)
static const yytype_uint8 yytable[]
static void yy_stack_print(yy_state_t *yybottom, yy_state_t *yytop)
static const yytype_int16 yycheck[]
int gdbarch_int_bit(struct gdbarch *gdbarch)
int gdbarch_long_bit(struct gdbarch *gdbarch)
struct type * lookup_pointer_type(struct type *type)
struct type * lookup_lvalue_reference_type(struct type *type)
struct type * lookup_function_type(struct type *type)
struct type * create_array_type(struct type *result_type, struct type *element_type, struct type *range_type)
struct type * create_static_range_type(struct type *result_type, struct type *index_type, LONGEST low_bound, LONGEST high_bound)
struct type * check_typedef(struct type *type)
#define TYPE_SAFE_NAME(type)
void range_error(const char *string,...)
struct type * language_lookup_primitive_type(const struct language_defn *la, struct gdbarch *gdbarch, const char *name)
std::unique_ptr< operation > operation_up
std::array< gdb_byte, 16 > float_data
bool parse_float(const char *p, int len, const struct type *type, gdb_byte *data)
std::string copy_name(struct stoken token)
void set_operation(expr::operation_up &&op)
const struct language_defn * language()
struct gdbarch * gdbarch()
void push_new(Arg... args)
const struct block *const expression_context_block
std::vector< expr::operation_up > pop_vector(int n)
void push_dollar(struct stoken str)
void push_symbol(const char *name, block_symbol sym)
void push(expr::operation_up &&op)
void mark_struct_expression(expr::structop_base_operation *op)
address_class aclass() const
struct type * type() const
void push(enum type_pieces tp)
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
struct YYSTYPE::@3 typed_val_float
struct internalvar * ivar
struct YYSTYPE::@2 typed_val
LONGEST value_as_long(struct value *val)