mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-11 14:11:31 +08:00
*** empty log message ***
From-SVN: r32385
This commit is contained in:
parent
8c214df6d3
commit
518f173d3d
@ -1,117 +1,116 @@
|
||||
|
||||
/* A Bison parser, made from ./parse-scan.y
|
||||
by GNU Bison version 1.25
|
||||
*/
|
||||
by GNU Bison version 1.28 */
|
||||
|
||||
#define YYBISON 1 /* Identify Bison output. */
|
||||
|
||||
#define PLUS_TK 258
|
||||
#define MINUS_TK 259
|
||||
#define MULT_TK 260
|
||||
#define DIV_TK 261
|
||||
#define REM_TK 262
|
||||
#define LS_TK 263
|
||||
#define SRS_TK 264
|
||||
#define ZRS_TK 265
|
||||
#define AND_TK 266
|
||||
#define XOR_TK 267
|
||||
#define OR_TK 268
|
||||
#define BOOL_AND_TK 269
|
||||
#define BOOL_OR_TK 270
|
||||
#define EQ_TK 271
|
||||
#define NEQ_TK 272
|
||||
#define GT_TK 273
|
||||
#define GTE_TK 274
|
||||
#define LT_TK 275
|
||||
#define LTE_TK 276
|
||||
#define PLUS_ASSIGN_TK 277
|
||||
#define MINUS_ASSIGN_TK 278
|
||||
#define MULT_ASSIGN_TK 279
|
||||
#define DIV_ASSIGN_TK 280
|
||||
#define REM_ASSIGN_TK 281
|
||||
#define LS_ASSIGN_TK 282
|
||||
#define SRS_ASSIGN_TK 283
|
||||
#define ZRS_ASSIGN_TK 284
|
||||
#define AND_ASSIGN_TK 285
|
||||
#define XOR_ASSIGN_TK 286
|
||||
#define OR_ASSIGN_TK 287
|
||||
#define PUBLIC_TK 288
|
||||
#define PRIVATE_TK 289
|
||||
#define PROTECTED_TK 290
|
||||
#define STATIC_TK 291
|
||||
#define FINAL_TK 292
|
||||
#define SYNCHRONIZED_TK 293
|
||||
#define VOLATILE_TK 294
|
||||
#define TRANSIENT_TK 295
|
||||
#define NATIVE_TK 296
|
||||
#define PAD_TK 297
|
||||
#define ABSTRACT_TK 298
|
||||
#define MODIFIER_TK 299
|
||||
#define DECR_TK 300
|
||||
#define INCR_TK 301
|
||||
#define DEFAULT_TK 302
|
||||
#define IF_TK 303
|
||||
#define THROW_TK 304
|
||||
#define BOOLEAN_TK 305
|
||||
#define DO_TK 306
|
||||
#define IMPLEMENTS_TK 307
|
||||
#define THROWS_TK 308
|
||||
#define BREAK_TK 309
|
||||
#define IMPORT_TK 310
|
||||
#define ELSE_TK 311
|
||||
#define INSTANCEOF_TK 312
|
||||
#define RETURN_TK 313
|
||||
#define VOID_TK 314
|
||||
#define CATCH_TK 315
|
||||
#define INTERFACE_TK 316
|
||||
#define CASE_TK 317
|
||||
#define EXTENDS_TK 318
|
||||
#define FINALLY_TK 319
|
||||
#define SUPER_TK 320
|
||||
#define WHILE_TK 321
|
||||
#define CLASS_TK 322
|
||||
#define SWITCH_TK 323
|
||||
#define CONST_TK 324
|
||||
#define TRY_TK 325
|
||||
#define FOR_TK 326
|
||||
#define NEW_TK 327
|
||||
#define CONTINUE_TK 328
|
||||
#define GOTO_TK 329
|
||||
#define PACKAGE_TK 330
|
||||
#define THIS_TK 331
|
||||
#define BYTE_TK 332
|
||||
#define SHORT_TK 333
|
||||
#define INT_TK 334
|
||||
#define LONG_TK 335
|
||||
#define CHAR_TK 336
|
||||
#define INTEGRAL_TK 337
|
||||
#define FLOAT_TK 338
|
||||
#define DOUBLE_TK 339
|
||||
#define FP_TK 340
|
||||
#define ID_TK 341
|
||||
#define REL_QM_TK 342
|
||||
#define REL_CL_TK 343
|
||||
#define NOT_TK 344
|
||||
#define NEG_TK 345
|
||||
#define ASSIGN_ANY_TK 346
|
||||
#define ASSIGN_TK 347
|
||||
#define OP_TK 348
|
||||
#define CP_TK 349
|
||||
#define OCB_TK 350
|
||||
#define CCB_TK 351
|
||||
#define OSB_TK 352
|
||||
#define CSB_TK 353
|
||||
#define SC_TK 354
|
||||
#define C_TK 355
|
||||
#define DOT_TK 356
|
||||
#define STRING_LIT_TK 357
|
||||
#define CHAR_LIT_TK 358
|
||||
#define INT_LIT_TK 359
|
||||
#define FP_LIT_TK 360
|
||||
#define TRUE_TK 361
|
||||
#define FALSE_TK 362
|
||||
#define BOOL_LIT_TK 363
|
||||
#define NULL_TK 364
|
||||
#define PLUS_TK 257
|
||||
#define MINUS_TK 258
|
||||
#define MULT_TK 259
|
||||
#define DIV_TK 260
|
||||
#define REM_TK 261
|
||||
#define LS_TK 262
|
||||
#define SRS_TK 263
|
||||
#define ZRS_TK 264
|
||||
#define AND_TK 265
|
||||
#define XOR_TK 266
|
||||
#define OR_TK 267
|
||||
#define BOOL_AND_TK 268
|
||||
#define BOOL_OR_TK 269
|
||||
#define EQ_TK 270
|
||||
#define NEQ_TK 271
|
||||
#define GT_TK 272
|
||||
#define GTE_TK 273
|
||||
#define LT_TK 274
|
||||
#define LTE_TK 275
|
||||
#define PLUS_ASSIGN_TK 276
|
||||
#define MINUS_ASSIGN_TK 277
|
||||
#define MULT_ASSIGN_TK 278
|
||||
#define DIV_ASSIGN_TK 279
|
||||
#define REM_ASSIGN_TK 280
|
||||
#define LS_ASSIGN_TK 281
|
||||
#define SRS_ASSIGN_TK 282
|
||||
#define ZRS_ASSIGN_TK 283
|
||||
#define AND_ASSIGN_TK 284
|
||||
#define XOR_ASSIGN_TK 285
|
||||
#define OR_ASSIGN_TK 286
|
||||
#define PUBLIC_TK 287
|
||||
#define PRIVATE_TK 288
|
||||
#define PROTECTED_TK 289
|
||||
#define STATIC_TK 290
|
||||
#define FINAL_TK 291
|
||||
#define SYNCHRONIZED_TK 292
|
||||
#define VOLATILE_TK 293
|
||||
#define TRANSIENT_TK 294
|
||||
#define NATIVE_TK 295
|
||||
#define PAD_TK 296
|
||||
#define ABSTRACT_TK 297
|
||||
#define MODIFIER_TK 298
|
||||
#define DECR_TK 299
|
||||
#define INCR_TK 300
|
||||
#define DEFAULT_TK 301
|
||||
#define IF_TK 302
|
||||
#define THROW_TK 303
|
||||
#define BOOLEAN_TK 304
|
||||
#define DO_TK 305
|
||||
#define IMPLEMENTS_TK 306
|
||||
#define THROWS_TK 307
|
||||
#define BREAK_TK 308
|
||||
#define IMPORT_TK 309
|
||||
#define ELSE_TK 310
|
||||
#define INSTANCEOF_TK 311
|
||||
#define RETURN_TK 312
|
||||
#define VOID_TK 313
|
||||
#define CATCH_TK 314
|
||||
#define INTERFACE_TK 315
|
||||
#define CASE_TK 316
|
||||
#define EXTENDS_TK 317
|
||||
#define FINALLY_TK 318
|
||||
#define SUPER_TK 319
|
||||
#define WHILE_TK 320
|
||||
#define CLASS_TK 321
|
||||
#define SWITCH_TK 322
|
||||
#define CONST_TK 323
|
||||
#define TRY_TK 324
|
||||
#define FOR_TK 325
|
||||
#define NEW_TK 326
|
||||
#define CONTINUE_TK 327
|
||||
#define GOTO_TK 328
|
||||
#define PACKAGE_TK 329
|
||||
#define THIS_TK 330
|
||||
#define BYTE_TK 331
|
||||
#define SHORT_TK 332
|
||||
#define INT_TK 333
|
||||
#define LONG_TK 334
|
||||
#define CHAR_TK 335
|
||||
#define INTEGRAL_TK 336
|
||||
#define FLOAT_TK 337
|
||||
#define DOUBLE_TK 338
|
||||
#define FP_TK 339
|
||||
#define ID_TK 340
|
||||
#define REL_QM_TK 341
|
||||
#define REL_CL_TK 342
|
||||
#define NOT_TK 343
|
||||
#define NEG_TK 344
|
||||
#define ASSIGN_ANY_TK 345
|
||||
#define ASSIGN_TK 346
|
||||
#define OP_TK 347
|
||||
#define CP_TK 348
|
||||
#define OCB_TK 349
|
||||
#define CCB_TK 350
|
||||
#define OSB_TK 351
|
||||
#define CSB_TK 352
|
||||
#define SC_TK 353
|
||||
#define C_TK 354
|
||||
#define DOT_TK 355
|
||||
#define STRING_LIT_TK 356
|
||||
#define CHAR_LIT_TK 357
|
||||
#define INT_LIT_TK 358
|
||||
#define FP_LIT_TK 359
|
||||
#define TRUE_TK 360
|
||||
#define FALSE_TK 361
|
||||
#define BOOL_LIT_TK 362
|
||||
#define NULL_TK 363
|
||||
|
||||
#line 37 "./parse-scan.y"
|
||||
|
||||
@ -203,7 +202,7 @@ typedef union {
|
||||
#define YYFLAG -32768
|
||||
#define YYNTBASE 110
|
||||
|
||||
#define YYTRANSLATE(x) ((unsigned)(x) <= 364 ? yytranslate[x] : 253)
|
||||
#define YYTRANSLATE(x) ((unsigned)(x) <= 363 ? yytranslate[x] : 253)
|
||||
|
||||
static const char yytranslate[] = { 0,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@ -231,18 +230,18 @@ static const char yytranslate[] = { 0,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
|
||||
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
|
||||
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
|
||||
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
|
||||
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
|
||||
106, 107, 108, 109
|
||||
2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
|
||||
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
|
||||
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
|
||||
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
|
||||
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
|
||||
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
|
||||
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
|
||||
107, 108, 109
|
||||
};
|
||||
|
||||
#if YYDEBUG != 0
|
||||
@ -1378,7 +1377,8 @@ static const short yycheck[] = { 3,
|
||||
#define YYPURE 1
|
||||
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line 3 "/usr/share/misc/bison.simple"
|
||||
#line 3 "/usr/lib/bison.simple"
|
||||
/* This file comes from bison-1.28. */
|
||||
|
||||
/* Skeleton output parser for bison,
|
||||
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
|
||||
@ -1395,47 +1395,67 @@ static const short yycheck[] = { 3,
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* As a special exception, when this file is copied by Bison into a
|
||||
Bison output file, you may use that output file without restriction.
|
||||
This special exception was added by the Free Software Foundation
|
||||
in version 1.24 of Bison. */
|
||||
|
||||
#ifndef alloca
|
||||
#ifdef __GNUC__
|
||||
#define alloca __builtin_alloca
|
||||
#else /* not GNU C. */
|
||||
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
|
||||
#include <alloca.h>
|
||||
#else /* not sparc */
|
||||
#if defined (MSDOS) && !defined (__TURBOC__)
|
||||
#include <malloc.h>
|
||||
#else /* not MSDOS, or __TURBOC__ */
|
||||
#if defined(_AIX)
|
||||
#include <malloc.h>
|
||||
#pragma alloca
|
||||
#else /* not MSDOS, __TURBOC__, or _AIX */
|
||||
#ifdef __hpux
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
void *alloca (unsigned int);
|
||||
};
|
||||
#else /* not __cplusplus */
|
||||
void *alloca ();
|
||||
#endif /* not __cplusplus */
|
||||
#endif /* __hpux */
|
||||
#endif /* not _AIX */
|
||||
#endif /* not MSDOS, or __TURBOC__ */
|
||||
#endif /* not sparc. */
|
||||
#endif /* not GNU C. */
|
||||
#endif /* alloca not defined. */
|
||||
|
||||
/* This is the parser code that is written into each bison parser
|
||||
when the %semantic_parser declaration is not specified in the grammar.
|
||||
It was written by Richard Stallman by simplifying the hairy parser
|
||||
used when %semantic_parser is specified. */
|
||||
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
#ifdef alloca
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#else /* alloca not defined */
|
||||
#ifdef __GNUC__
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#define alloca __builtin_alloca
|
||||
#else /* not GNU C. */
|
||||
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#include <alloca.h>
|
||||
#else /* not sparc */
|
||||
/* We think this test detects Watcom and Microsoft C. */
|
||||
/* This used to test MSDOS, but that is a bad idea
|
||||
since that symbol is in the user namespace. */
|
||||
#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
|
||||
#if 0 /* No need for malloc.h, which pollutes the namespace;
|
||||
instead, just don't use alloca. */
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
#else /* not MSDOS, or __TURBOC__ */
|
||||
#if defined(_AIX)
|
||||
/* I don't know what this was needed for, but it pollutes the namespace.
|
||||
So I turned it off. rms, 2 May 1997. */
|
||||
/* #include <malloc.h> */
|
||||
#pragma alloca
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#else /* not MSDOS, or __TURBOC__, or _AIX */
|
||||
#if 0
|
||||
#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
|
||||
and on HPUX 10. Eventually we can turn this on. */
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#define alloca __builtin_alloca
|
||||
#endif /* __hpux */
|
||||
#endif
|
||||
#endif /* not _AIX */
|
||||
#endif /* not MSDOS, or __TURBOC__ */
|
||||
#endif /* not sparc */
|
||||
#endif /* not GNU C */
|
||||
#endif /* alloca not defined */
|
||||
#endif /* YYSTACK_USE_ALLOCA not defined */
|
||||
|
||||
#ifdef YYSTACK_USE_ALLOCA
|
||||
#define YYSTACK_ALLOC alloca
|
||||
#else
|
||||
#define YYSTACK_ALLOC malloc
|
||||
#endif
|
||||
|
||||
/* Note: there must be only one dollar sign in this file.
|
||||
It is replaced by the list of actions, each action
|
||||
as one case of the switch. */
|
||||
@ -1444,8 +1464,8 @@ void *alloca ();
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY -2
|
||||
#define YYEOF 0
|
||||
#define YYACCEPT return(0)
|
||||
#define YYABORT return(1)
|
||||
#define YYACCEPT goto yyacceptlab
|
||||
#define YYABORT goto yyabortlab
|
||||
#define YYERROR goto yyerrlab1
|
||||
/* Like YYERROR except do call yyerror.
|
||||
This remains here temporarily to ease the
|
||||
@ -1526,12 +1546,12 @@ int yydebug; /* nonzero means print parse trace */
|
||||
#ifndef YYMAXDEPTH
|
||||
#define YYMAXDEPTH 10000
|
||||
#endif
|
||||
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
int yyparse (void);
|
||||
#endif
|
||||
|
||||
/* Define __yy_memcpy. Note that the size argument
|
||||
should be passed with type unsigned int, because that is what the non-GCC
|
||||
definitions require. With GCC, __builtin_memcpy takes an arg
|
||||
of type size_t, but it can handle unsigned int. */
|
||||
|
||||
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
|
||||
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
|
||||
#else /* not GNU C or C++ */
|
||||
@ -1543,7 +1563,7 @@ static void
|
||||
__yy_memcpy (to, from, count)
|
||||
char *to;
|
||||
char *from;
|
||||
int count;
|
||||
unsigned int count;
|
||||
{
|
||||
register char *f = from;
|
||||
register char *t = to;
|
||||
@ -1558,10 +1578,10 @@ __yy_memcpy (to, from, count)
|
||||
/* This is the most reliable way to avoid incompatibilities
|
||||
in available built-in functions on various systems. */
|
||||
static void
|
||||
__yy_memcpy (char *to, char *from, int count)
|
||||
__yy_memcpy (char *to, char *from, unsigned int count)
|
||||
{
|
||||
register char *f = from;
|
||||
register char *t = to;
|
||||
register char *f = from;
|
||||
register int i = count;
|
||||
|
||||
while (i-- > 0)
|
||||
@ -1571,7 +1591,7 @@ __yy_memcpy (char *to, char *from, int count)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#line 196 "/usr/share/misc/bison.simple"
|
||||
#line 217 "/usr/lib/bison.simple"
|
||||
|
||||
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
|
||||
into yyparse. The argument should have type void *.
|
||||
@ -1592,6 +1612,15 @@ __yy_memcpy (char *to, char *from, int count)
|
||||
#define YYPARSE_PARAM_DECL
|
||||
#endif /* not YYPARSE_PARAM */
|
||||
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
#ifdef YYPARSE_PARAM
|
||||
int yyparse (void *);
|
||||
#else
|
||||
int yyparse (void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
int
|
||||
yyparse(YYPARSE_PARAM_ARG)
|
||||
YYPARSE_PARAM_DECL
|
||||
@ -1620,6 +1649,7 @@ yyparse(YYPARSE_PARAM_ARG)
|
||||
#endif
|
||||
|
||||
int yystacksize = YYINITDEPTH;
|
||||
int yyfree_stacks = 0;
|
||||
|
||||
#ifdef YYPURE
|
||||
int yychar;
|
||||
@ -1704,18 +1734,32 @@ yynewstate:
|
||||
if (yystacksize >= YYMAXDEPTH)
|
||||
{
|
||||
yyerror("parser stack overflow");
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
yystacksize *= 2;
|
||||
if (yystacksize > YYMAXDEPTH)
|
||||
yystacksize = YYMAXDEPTH;
|
||||
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
|
||||
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
|
||||
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
|
||||
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
yyfree_stacks = 1;
|
||||
#endif
|
||||
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
|
||||
__yy_memcpy ((char *)yyss, (char *)yyss1,
|
||||
size * (unsigned int) sizeof (*yyssp));
|
||||
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
|
||||
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
|
||||
size * (unsigned int) sizeof (*yyvsp));
|
||||
#ifdef YYLSP_NEEDED
|
||||
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
|
||||
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
|
||||
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
|
||||
__yy_memcpy ((char *)yyls, (char *)yyls1,
|
||||
size * (unsigned int) sizeof (*yylsp));
|
||||
#endif
|
||||
#endif /* no yyoverflow */
|
||||
|
||||
@ -2149,7 +2193,7 @@ case 337:
|
||||
break;}
|
||||
}
|
||||
/* the action file gets copied in in place of this dollarsign */
|
||||
#line 498 "/usr/share/misc/bison.simple"
|
||||
#line 543 "/usr/lib/bison.simple"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
@ -2344,6 +2388,30 @@ yyerrhandle:
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
|
||||
yyacceptlab:
|
||||
/* YYACCEPT comes here. */
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
|
||||
yyabortlab:
|
||||
/* YYABORT comes here. */
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#line 1099 "./parse-scan.y"
|
||||
|
||||
|
457
gcc/java/parse.c
457
gcc/java/parse.c
@ -1,7 +1,6 @@
|
||||
|
||||
/* A Bison parser, made from ./parse.y
|
||||
by GNU Bison version 1.25
|
||||
*/
|
||||
by GNU Bison version 1.28 */
|
||||
|
||||
#define YYBISON 1 /* Identify Bison output. */
|
||||
|
||||
@ -12,113 +11,113 @@
|
||||
#define yychar java_char
|
||||
#define yydebug java_debug
|
||||
#define yynerrs java_nerrs
|
||||
#define PLUS_TK 258
|
||||
#define MINUS_TK 259
|
||||
#define MULT_TK 260
|
||||
#define DIV_TK 261
|
||||
#define REM_TK 262
|
||||
#define LS_TK 263
|
||||
#define SRS_TK 264
|
||||
#define ZRS_TK 265
|
||||
#define AND_TK 266
|
||||
#define XOR_TK 267
|
||||
#define OR_TK 268
|
||||
#define BOOL_AND_TK 269
|
||||
#define BOOL_OR_TK 270
|
||||
#define EQ_TK 271
|
||||
#define NEQ_TK 272
|
||||
#define GT_TK 273
|
||||
#define GTE_TK 274
|
||||
#define LT_TK 275
|
||||
#define LTE_TK 276
|
||||
#define PLUS_ASSIGN_TK 277
|
||||
#define MINUS_ASSIGN_TK 278
|
||||
#define MULT_ASSIGN_TK 279
|
||||
#define DIV_ASSIGN_TK 280
|
||||
#define REM_ASSIGN_TK 281
|
||||
#define LS_ASSIGN_TK 282
|
||||
#define SRS_ASSIGN_TK 283
|
||||
#define ZRS_ASSIGN_TK 284
|
||||
#define AND_ASSIGN_TK 285
|
||||
#define XOR_ASSIGN_TK 286
|
||||
#define OR_ASSIGN_TK 287
|
||||
#define PUBLIC_TK 288
|
||||
#define PRIVATE_TK 289
|
||||
#define PROTECTED_TK 290
|
||||
#define STATIC_TK 291
|
||||
#define FINAL_TK 292
|
||||
#define SYNCHRONIZED_TK 293
|
||||
#define VOLATILE_TK 294
|
||||
#define TRANSIENT_TK 295
|
||||
#define NATIVE_TK 296
|
||||
#define PAD_TK 297
|
||||
#define ABSTRACT_TK 298
|
||||
#define MODIFIER_TK 299
|
||||
#define DECR_TK 300
|
||||
#define INCR_TK 301
|
||||
#define DEFAULT_TK 302
|
||||
#define IF_TK 303
|
||||
#define THROW_TK 304
|
||||
#define BOOLEAN_TK 305
|
||||
#define DO_TK 306
|
||||
#define IMPLEMENTS_TK 307
|
||||
#define THROWS_TK 308
|
||||
#define BREAK_TK 309
|
||||
#define IMPORT_TK 310
|
||||
#define ELSE_TK 311
|
||||
#define INSTANCEOF_TK 312
|
||||
#define RETURN_TK 313
|
||||
#define VOID_TK 314
|
||||
#define CATCH_TK 315
|
||||
#define INTERFACE_TK 316
|
||||
#define CASE_TK 317
|
||||
#define EXTENDS_TK 318
|
||||
#define FINALLY_TK 319
|
||||
#define SUPER_TK 320
|
||||
#define WHILE_TK 321
|
||||
#define CLASS_TK 322
|
||||
#define SWITCH_TK 323
|
||||
#define CONST_TK 324
|
||||
#define TRY_TK 325
|
||||
#define FOR_TK 326
|
||||
#define NEW_TK 327
|
||||
#define CONTINUE_TK 328
|
||||
#define GOTO_TK 329
|
||||
#define PACKAGE_TK 330
|
||||
#define THIS_TK 331
|
||||
#define BYTE_TK 332
|
||||
#define SHORT_TK 333
|
||||
#define INT_TK 334
|
||||
#define LONG_TK 335
|
||||
#define CHAR_TK 336
|
||||
#define INTEGRAL_TK 337
|
||||
#define FLOAT_TK 338
|
||||
#define DOUBLE_TK 339
|
||||
#define FP_TK 340
|
||||
#define ID_TK 341
|
||||
#define REL_QM_TK 342
|
||||
#define REL_CL_TK 343
|
||||
#define NOT_TK 344
|
||||
#define NEG_TK 345
|
||||
#define ASSIGN_ANY_TK 346
|
||||
#define ASSIGN_TK 347
|
||||
#define OP_TK 348
|
||||
#define CP_TK 349
|
||||
#define OCB_TK 350
|
||||
#define CCB_TK 351
|
||||
#define OSB_TK 352
|
||||
#define CSB_TK 353
|
||||
#define SC_TK 354
|
||||
#define C_TK 355
|
||||
#define DOT_TK 356
|
||||
#define STRING_LIT_TK 357
|
||||
#define CHAR_LIT_TK 358
|
||||
#define INT_LIT_TK 359
|
||||
#define FP_LIT_TK 360
|
||||
#define TRUE_TK 361
|
||||
#define FALSE_TK 362
|
||||
#define BOOL_LIT_TK 363
|
||||
#define NULL_TK 364
|
||||
#define PLUS_TK 257
|
||||
#define MINUS_TK 258
|
||||
#define MULT_TK 259
|
||||
#define DIV_TK 260
|
||||
#define REM_TK 261
|
||||
#define LS_TK 262
|
||||
#define SRS_TK 263
|
||||
#define ZRS_TK 264
|
||||
#define AND_TK 265
|
||||
#define XOR_TK 266
|
||||
#define OR_TK 267
|
||||
#define BOOL_AND_TK 268
|
||||
#define BOOL_OR_TK 269
|
||||
#define EQ_TK 270
|
||||
#define NEQ_TK 271
|
||||
#define GT_TK 272
|
||||
#define GTE_TK 273
|
||||
#define LT_TK 274
|
||||
#define LTE_TK 275
|
||||
#define PLUS_ASSIGN_TK 276
|
||||
#define MINUS_ASSIGN_TK 277
|
||||
#define MULT_ASSIGN_TK 278
|
||||
#define DIV_ASSIGN_TK 279
|
||||
#define REM_ASSIGN_TK 280
|
||||
#define LS_ASSIGN_TK 281
|
||||
#define SRS_ASSIGN_TK 282
|
||||
#define ZRS_ASSIGN_TK 283
|
||||
#define AND_ASSIGN_TK 284
|
||||
#define XOR_ASSIGN_TK 285
|
||||
#define OR_ASSIGN_TK 286
|
||||
#define PUBLIC_TK 287
|
||||
#define PRIVATE_TK 288
|
||||
#define PROTECTED_TK 289
|
||||
#define STATIC_TK 290
|
||||
#define FINAL_TK 291
|
||||
#define SYNCHRONIZED_TK 292
|
||||
#define VOLATILE_TK 293
|
||||
#define TRANSIENT_TK 294
|
||||
#define NATIVE_TK 295
|
||||
#define PAD_TK 296
|
||||
#define ABSTRACT_TK 297
|
||||
#define MODIFIER_TK 298
|
||||
#define DECR_TK 299
|
||||
#define INCR_TK 300
|
||||
#define DEFAULT_TK 301
|
||||
#define IF_TK 302
|
||||
#define THROW_TK 303
|
||||
#define BOOLEAN_TK 304
|
||||
#define DO_TK 305
|
||||
#define IMPLEMENTS_TK 306
|
||||
#define THROWS_TK 307
|
||||
#define BREAK_TK 308
|
||||
#define IMPORT_TK 309
|
||||
#define ELSE_TK 310
|
||||
#define INSTANCEOF_TK 311
|
||||
#define RETURN_TK 312
|
||||
#define VOID_TK 313
|
||||
#define CATCH_TK 314
|
||||
#define INTERFACE_TK 315
|
||||
#define CASE_TK 316
|
||||
#define EXTENDS_TK 317
|
||||
#define FINALLY_TK 318
|
||||
#define SUPER_TK 319
|
||||
#define WHILE_TK 320
|
||||
#define CLASS_TK 321
|
||||
#define SWITCH_TK 322
|
||||
#define CONST_TK 323
|
||||
#define TRY_TK 324
|
||||
#define FOR_TK 325
|
||||
#define NEW_TK 326
|
||||
#define CONTINUE_TK 327
|
||||
#define GOTO_TK 328
|
||||
#define PACKAGE_TK 329
|
||||
#define THIS_TK 330
|
||||
#define BYTE_TK 331
|
||||
#define SHORT_TK 332
|
||||
#define INT_TK 333
|
||||
#define LONG_TK 334
|
||||
#define CHAR_TK 335
|
||||
#define INTEGRAL_TK 336
|
||||
#define FLOAT_TK 337
|
||||
#define DOUBLE_TK 338
|
||||
#define FP_TK 339
|
||||
#define ID_TK 340
|
||||
#define REL_QM_TK 341
|
||||
#define REL_CL_TK 342
|
||||
#define NOT_TK 343
|
||||
#define NEG_TK 344
|
||||
#define ASSIGN_ANY_TK 345
|
||||
#define ASSIGN_TK 346
|
||||
#define OP_TK 347
|
||||
#define CP_TK 348
|
||||
#define OCB_TK 349
|
||||
#define CCB_TK 350
|
||||
#define OSB_TK 351
|
||||
#define CSB_TK 352
|
||||
#define SC_TK 353
|
||||
#define C_TK 354
|
||||
#define DOT_TK 355
|
||||
#define STRING_LIT_TK 356
|
||||
#define CHAR_LIT_TK 357
|
||||
#define INT_LIT_TK 358
|
||||
#define FP_LIT_TK 359
|
||||
#define TRUE_TK 360
|
||||
#define FALSE_TK 361
|
||||
#define BOOL_LIT_TK 362
|
||||
#define NULL_TK 363
|
||||
|
||||
#line 48 "./parse.y"
|
||||
|
||||
@ -449,7 +448,7 @@ typedef union {
|
||||
#define YYFLAG -32768
|
||||
#define YYNTBASE 110
|
||||
|
||||
#define YYTRANSLATE(x) ((unsigned)(x) <= 364 ? yytranslate[x] : 267)
|
||||
#define YYTRANSLATE(x) ((unsigned)(x) <= 363 ? yytranslate[x] : 267)
|
||||
|
||||
static const char yytranslate[] = { 0,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
@ -477,18 +476,18 @@ static const char yytranslate[] = { 0,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
||||
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
|
||||
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
|
||||
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
|
||||
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
|
||||
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
|
||||
106, 107, 108, 109
|
||||
2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
|
||||
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
||||
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
|
||||
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
|
||||
67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
|
||||
77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
|
||||
87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
|
||||
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
|
||||
107, 108, 109
|
||||
};
|
||||
|
||||
#if YYDEBUG != 0
|
||||
@ -2292,7 +2291,8 @@ static const short yycheck[] = { 3,
|
||||
#define YYPURE 1
|
||||
|
||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||
#line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
#line 3 "/usr/lib/bison.simple"
|
||||
/* This file comes from bison-1.28. */
|
||||
|
||||
/* Skeleton output parser for bison,
|
||||
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
|
||||
@ -2309,47 +2309,67 @@ static const short yycheck[] = { 3,
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* As a special exception, when this file is copied by Bison into a
|
||||
Bison output file, you may use that output file without restriction.
|
||||
This special exception was added by the Free Software Foundation
|
||||
in version 1.24 of Bison. */
|
||||
|
||||
#ifndef alloca
|
||||
#ifdef __GNUC__
|
||||
#define alloca __builtin_alloca
|
||||
#else /* not GNU C. */
|
||||
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
|
||||
#include <alloca.h>
|
||||
#else /* not sparc */
|
||||
#if defined (MSDOS) && !defined (__TURBOC__)
|
||||
#include <malloc.h>
|
||||
#else /* not MSDOS, or __TURBOC__ */
|
||||
#if defined(_AIX)
|
||||
#include <malloc.h>
|
||||
#pragma alloca
|
||||
#else /* not MSDOS, __TURBOC__, or _AIX */
|
||||
#ifdef __hpux
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
void *alloca (unsigned int);
|
||||
};
|
||||
#else /* not __cplusplus */
|
||||
void *alloca ();
|
||||
#endif /* not __cplusplus */
|
||||
#endif /* __hpux */
|
||||
#endif /* not _AIX */
|
||||
#endif /* not MSDOS, or __TURBOC__ */
|
||||
#endif /* not sparc. */
|
||||
#endif /* not GNU C. */
|
||||
#endif /* alloca not defined. */
|
||||
|
||||
/* This is the parser code that is written into each bison parser
|
||||
when the %semantic_parser declaration is not specified in the grammar.
|
||||
It was written by Richard Stallman by simplifying the hairy parser
|
||||
used when %semantic_parser is specified. */
|
||||
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
#ifdef alloca
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#else /* alloca not defined */
|
||||
#ifdef __GNUC__
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#define alloca __builtin_alloca
|
||||
#else /* not GNU C. */
|
||||
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#include <alloca.h>
|
||||
#else /* not sparc */
|
||||
/* We think this test detects Watcom and Microsoft C. */
|
||||
/* This used to test MSDOS, but that is a bad idea
|
||||
since that symbol is in the user namespace. */
|
||||
#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
|
||||
#if 0 /* No need for malloc.h, which pollutes the namespace;
|
||||
instead, just don't use alloca. */
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
#else /* not MSDOS, or __TURBOC__ */
|
||||
#if defined(_AIX)
|
||||
/* I don't know what this was needed for, but it pollutes the namespace.
|
||||
So I turned it off. rms, 2 May 1997. */
|
||||
/* #include <malloc.h> */
|
||||
#pragma alloca
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#else /* not MSDOS, or __TURBOC__, or _AIX */
|
||||
#if 0
|
||||
#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
|
||||
and on HPUX 10. Eventually we can turn this on. */
|
||||
#define YYSTACK_USE_ALLOCA
|
||||
#define alloca __builtin_alloca
|
||||
#endif /* __hpux */
|
||||
#endif
|
||||
#endif /* not _AIX */
|
||||
#endif /* not MSDOS, or __TURBOC__ */
|
||||
#endif /* not sparc */
|
||||
#endif /* not GNU C */
|
||||
#endif /* alloca not defined */
|
||||
#endif /* YYSTACK_USE_ALLOCA not defined */
|
||||
|
||||
#ifdef YYSTACK_USE_ALLOCA
|
||||
#define YYSTACK_ALLOC alloca
|
||||
#else
|
||||
#define YYSTACK_ALLOC malloc
|
||||
#endif
|
||||
|
||||
/* Note: there must be only one dollar sign in this file.
|
||||
It is replaced by the list of actions, each action
|
||||
as one case of the switch. */
|
||||
@ -2358,8 +2378,8 @@ void *alloca ();
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY -2
|
||||
#define YYEOF 0
|
||||
#define YYACCEPT return(0)
|
||||
#define YYABORT return(1)
|
||||
#define YYACCEPT goto yyacceptlab
|
||||
#define YYABORT goto yyabortlab
|
||||
#define YYERROR goto yyerrlab1
|
||||
/* Like YYERROR except do call yyerror.
|
||||
This remains here temporarily to ease the
|
||||
@ -2440,12 +2460,12 @@ int yydebug; /* nonzero means print parse trace */
|
||||
#ifndef YYMAXDEPTH
|
||||
#define YYMAXDEPTH 10000
|
||||
#endif
|
||||
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
int yyparse (void);
|
||||
#endif
|
||||
|
||||
/* Define __yy_memcpy. Note that the size argument
|
||||
should be passed with type unsigned int, because that is what the non-GCC
|
||||
definitions require. With GCC, __builtin_memcpy takes an arg
|
||||
of type size_t, but it can handle unsigned int. */
|
||||
|
||||
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
|
||||
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
|
||||
#else /* not GNU C or C++ */
|
||||
@ -2457,7 +2477,7 @@ static void
|
||||
__yy_memcpy (to, from, count)
|
||||
char *to;
|
||||
char *from;
|
||||
int count;
|
||||
unsigned int count;
|
||||
{
|
||||
register char *f = from;
|
||||
register char *t = to;
|
||||
@ -2472,10 +2492,10 @@ __yy_memcpy (to, from, count)
|
||||
/* This is the most reliable way to avoid incompatibilities
|
||||
in available built-in functions on various systems. */
|
||||
static void
|
||||
__yy_memcpy (char *to, char *from, int count)
|
||||
__yy_memcpy (char *to, char *from, unsigned int count)
|
||||
{
|
||||
register char *f = from;
|
||||
register char *t = to;
|
||||
register char *f = from;
|
||||
register int i = count;
|
||||
|
||||
while (i-- > 0)
|
||||
@ -2485,7 +2505,7 @@ __yy_memcpy (char *to, char *from, int count)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
#line 217 "/usr/lib/bison.simple"
|
||||
|
||||
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
|
||||
into yyparse. The argument should have type void *.
|
||||
@ -2506,6 +2526,15 @@ __yy_memcpy (char *to, char *from, int count)
|
||||
#define YYPARSE_PARAM_DECL
|
||||
#endif /* not YYPARSE_PARAM */
|
||||
|
||||
/* Prevent warning if -Wstrict-prototypes. */
|
||||
#ifdef __GNUC__
|
||||
#ifdef YYPARSE_PARAM
|
||||
int yyparse (void *);
|
||||
#else
|
||||
int yyparse (void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
int
|
||||
yyparse(YYPARSE_PARAM_ARG)
|
||||
YYPARSE_PARAM_DECL
|
||||
@ -2534,6 +2563,7 @@ yyparse(YYPARSE_PARAM_ARG)
|
||||
#endif
|
||||
|
||||
int yystacksize = YYINITDEPTH;
|
||||
int yyfree_stacks = 0;
|
||||
|
||||
#ifdef YYPURE
|
||||
int yychar;
|
||||
@ -2618,18 +2648,32 @@ yynewstate:
|
||||
if (yystacksize >= YYMAXDEPTH)
|
||||
{
|
||||
yyerror("parser stack overflow");
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
yystacksize *= 2;
|
||||
if (yystacksize > YYMAXDEPTH)
|
||||
yystacksize = YYMAXDEPTH;
|
||||
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
|
||||
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
|
||||
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
|
||||
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
|
||||
#ifndef YYSTACK_USE_ALLOCA
|
||||
yyfree_stacks = 1;
|
||||
#endif
|
||||
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
|
||||
__yy_memcpy ((char *)yyss, (char *)yyss1,
|
||||
size * (unsigned int) sizeof (*yyssp));
|
||||
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
|
||||
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
|
||||
size * (unsigned int) sizeof (*yyvsp));
|
||||
#ifdef YYLSP_NEEDED
|
||||
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
|
||||
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
|
||||
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
|
||||
__yy_memcpy ((char *)yyls, (char *)yyls1,
|
||||
size * (unsigned int) sizeof (*yylsp));
|
||||
#endif
|
||||
#endif /* no yyoverflow */
|
||||
|
||||
@ -4797,7 +4841,7 @@ case 496:
|
||||
break;}
|
||||
}
|
||||
/* the action file gets copied in in place of this dollarsign */
|
||||
#line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
|
||||
#line 543 "/usr/lib/bison.simple"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
@ -4992,6 +5036,30 @@ yyerrhandle:
|
||||
|
||||
yystate = yyn;
|
||||
goto yynewstate;
|
||||
|
||||
yyacceptlab:
|
||||
/* YYACCEPT comes here. */
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
|
||||
yyabortlab:
|
||||
/* YYABORT comes here. */
|
||||
if (yyfree_stacks)
|
||||
{
|
||||
free (yyss);
|
||||
free (yyvs);
|
||||
#ifdef YYLSP_NEEDED
|
||||
free (yyls);
|
||||
#endif
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#line 2375 "./parse.y"
|
||||
|
||||
@ -7384,7 +7452,7 @@ check_abstract_method_definitions (do_interface, class_decl, type)
|
||||
}
|
||||
}
|
||||
|
||||
/* Check that CLASS_DECL somehoow implements all inherited abstract
|
||||
/* Check that CLASS_DECL somehow implements all inherited abstract
|
||||
methods. */
|
||||
|
||||
static void
|
||||
@ -7429,7 +7497,6 @@ java_check_regular_methods (class_decl)
|
||||
int saw_constructor = 0;
|
||||
tree method;
|
||||
tree class = CLASS_TO_HANDLE_TYPE (TREE_TYPE (class_decl));
|
||||
tree super_class = CLASSTYPE_SUPER (class);
|
||||
tree saved_found_wfl = NULL_TREE, found = NULL_TREE;
|
||||
tree mthrows;
|
||||
|
||||
@ -7481,7 +7548,7 @@ java_check_regular_methods (class_decl)
|
||||
}
|
||||
|
||||
sig = build_java_argument_signature (TREE_TYPE (method));
|
||||
found = lookup_argument_method (super_class, DECL_NAME (method), sig);
|
||||
found = lookup_argument_method2 (class, DECL_NAME (method), sig);
|
||||
|
||||
/* Nothing overrides or it's a private method. */
|
||||
if (!found)
|
||||
@ -7497,12 +7564,25 @@ java_check_regular_methods (class_decl)
|
||||
saved_found_wfl = DECL_NAME (found);
|
||||
reset_method_name (found);
|
||||
|
||||
/* If `found' is declared in an interface, make sure the
|
||||
modifier matches. */
|
||||
if (CLASS_INTERFACE (TYPE_NAME (DECL_CONTEXT (found)))
|
||||
&& clinit_identifier_node != DECL_NAME (found)
|
||||
&& !METHOD_PUBLIC (method))
|
||||
{
|
||||
tree found_decl = TYPE_NAME (DECL_CONTEXT (found));
|
||||
parse_error_context (method_wfl, "Class `%s' must override `%s' with a public method in order to implement interface `%s'",
|
||||
IDENTIFIER_POINTER (DECL_NAME (class_decl)),
|
||||
lang_printable_name (method, 0),
|
||||
IDENTIFIER_POINTER (DECL_NAME (found_decl)));
|
||||
}
|
||||
|
||||
/* Can't override a method with the same name and different return
|
||||
types. */
|
||||
if (TREE_TYPE (TREE_TYPE (found)) != TREE_TYPE (TREE_TYPE (method)))
|
||||
{
|
||||
char *t = xstrdup (lang_printable_name (TREE_TYPE (TREE_TYPE (found)),
|
||||
0));
|
||||
char *t = xstrdup
|
||||
(lang_printable_name (TREE_TYPE (TREE_TYPE (found)), 0));
|
||||
parse_error_context
|
||||
(method_wfl,
|
||||
"Method `%s' was defined with return type `%s' in class `%s'",
|
||||
@ -7565,12 +7645,15 @@ java_check_regular_methods (class_decl)
|
||||
- Overriding/hiding protected must be protected or public
|
||||
- If the overriden or hidden method has default (package)
|
||||
access, then the overriding or hiding method must not be
|
||||
private; otherwise, a compile-time error occurs */
|
||||
if ((METHOD_PUBLIC (found) && !METHOD_PUBLIC (method))
|
||||
|| (METHOD_PROTECTED (found)
|
||||
&& !(METHOD_PUBLIC (method) || METHOD_PROTECTED (method)))
|
||||
|| (!(aflags & (ACC_PUBLIC | ACC_PRIVATE | ACC_STATIC))
|
||||
&& METHOD_PRIVATE (method)))
|
||||
private; otherwise, a compile-time error occurs. If
|
||||
`found' belongs to an interface, things have been already
|
||||
taken care of. */
|
||||
if (!CLASS_INTERFACE (TYPE_NAME (DECL_CONTEXT (found)))
|
||||
&& ((METHOD_PUBLIC (found) && !METHOD_PUBLIC (method))
|
||||
|| (METHOD_PROTECTED (found)
|
||||
&& !(METHOD_PUBLIC (method) || METHOD_PROTECTED (method)))
|
||||
|| (!(aflags & (ACC_PUBLIC | ACC_PRIVATE | ACC_STATIC))
|
||||
&& METHOD_PRIVATE (method))))
|
||||
{
|
||||
parse_error_context
|
||||
(method_wfl,
|
||||
@ -10131,7 +10214,7 @@ patch_invoke (patch, method, args)
|
||||
|
||||
case INVOKE_INTERFACE:
|
||||
dtable = invoke_build_dtable (1, args);
|
||||
func = build_invokeinterface (dtable, DECL_NAME (method), signature);
|
||||
func = build_invokeinterface (dtable, method);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -13431,11 +13514,9 @@ patch_newarray (node)
|
||||
for (cdim = dims; cdim; cdim = TREE_CHAIN (cdim))
|
||||
{
|
||||
type = array_type;
|
||||
array_type
|
||||
= build_java_array_type (type,
|
||||
TREE_CODE (cdim) == INTEGER_CST
|
||||
? (HOST_WIDE_INT) TREE_INT_CST_LOW (cdim)
|
||||
: -1);
|
||||
array_type = build_java_array_type (type,
|
||||
TREE_CODE (cdim) == INTEGER_CST ?
|
||||
TREE_INT_CST_LOW (cdim) : -1);
|
||||
array_type = promote_type (array_type);
|
||||
}
|
||||
dims = nreverse (dims);
|
||||
|
Loading…
x
Reference in New Issue
Block a user