Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
518f173d
Commit
518f173d
authored
Mar 07, 2000
by
Alexandre Petit-Bianco
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r32385
parent
8c214df6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
490 additions
and
341 deletions
+490
-341
gcc/java/parse-scan.c
+230
-162
gcc/java/parse.c
+260
-179
No files found.
gcc/java/parse-scan.c
View file @
518f173d
/* 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 25
8
#define MINUS_TK 25
9
#define MULT_TK 2
60
#define DIV_TK 26
1
#define REM_TK 26
2
#define LS_TK 26
3
#define SRS_TK 26
4
#define ZRS_TK 26
5
#define AND_TK 26
6
#define XOR_TK 26
7
#define OR_TK 26
8
#define BOOL_AND_TK 26
9
#define BOOL_OR_TK 2
70
#define EQ_TK 27
1
#define NEQ_TK 27
2
#define GT_TK 27
3
#define GTE_TK 27
4
#define LT_TK 27
5
#define LTE_TK 27
6
#define PLUS_ASSIGN_TK 27
7
#define MINUS_ASSIGN_TK 27
8
#define MULT_ASSIGN_TK 27
9
#define DIV_ASSIGN_TK 2
80
#define REM_ASSIGN_TK 28
1
#define LS_ASSIGN_TK 28
2
#define SRS_ASSIGN_TK 28
3
#define ZRS_ASSIGN_TK 28
4
#define AND_ASSIGN_TK 28
5
#define XOR_ASSIGN_TK 28
6
#define OR_ASSIGN_TK 28
7
#define PUBLIC_TK 28
8
#define PRIVATE_TK 28
9
#define PROTECTED_TK 2
90
#define STATIC_TK 29
1
#define FINAL_TK 29
2
#define SYNCHRONIZED_TK 29
3
#define VOLATILE_TK 29
4
#define TRANSIENT_TK 29
5
#define NATIVE_TK 29
6
#define PAD_TK 29
7
#define ABSTRACT_TK 29
8
#define MODIFIER_TK 29
9
#define DECR_TK
300
#define INCR_TK 30
1
#define DEFAULT_TK 30
2
#define IF_TK 30
3
#define THROW_TK 30
4
#define BOOLEAN_TK 30
5
#define DO_TK 30
6
#define IMPLEMENTS_TK 30
7
#define THROWS_TK 30
8
#define BREAK_TK 30
9
#define IMPORT_TK 3
10
#define ELSE_TK 31
1
#define INSTANCEOF_TK 31
2
#define RETURN_TK 31
3
#define VOID_TK 31
4
#define CATCH_TK 31
5
#define INTERFACE_TK 31
6
#define CASE_TK 31
7
#define EXTENDS_TK 31
8
#define FINALLY_TK 31
9
#define SUPER_TK 3
20
#define WHILE_TK 32
1
#define CLASS_TK 32
2
#define SWITCH_TK 32
3
#define CONST_TK 32
4
#define TRY_TK 32
5
#define FOR_TK 32
6
#define NEW_TK 32
7
#define CONTINUE_TK 32
8
#define GOTO_TK 32
9
#define PACKAGE_TK 3
30
#define THIS_TK 33
1
#define BYTE_TK 33
2
#define SHORT_TK 33
3
#define INT_TK 33
4
#define LONG_TK 33
5
#define CHAR_TK 33
6
#define INTEGRAL_TK 33
7
#define FLOAT_TK 33
8
#define DOUBLE_TK 33
9
#define FP_TK 3
40
#define ID_TK 34
1
#define REL_QM_TK 34
2
#define REL_CL_TK 34
3
#define NOT_TK 34
4
#define NEG_TK 34
5
#define ASSIGN_ANY_TK 34
6
#define ASSIGN_TK 34
7
#define OP_TK 34
8
#define CP_TK 34
9
#define OCB_TK 3
50
#define CCB_TK 35
1
#define OSB_TK 35
2
#define CSB_TK 35
3
#define SC_TK 35
4
#define C_TK 35
5
#define DOT_TK 35
6
#define STRING_LIT_TK 35
7
#define CHAR_LIT_TK 35
8
#define INT_LIT_TK 35
9
#define FP_LIT_TK 3
60
#define TRUE_TK 36
1
#define FALSE_TK 36
2
#define BOOL_LIT_TK 36
3
#define NULL_TK 36
4
#define PLUS_TK 25
7
#define MINUS_TK 25
8
#define MULT_TK 2
59
#define DIV_TK 26
0
#define REM_TK 26
1
#define LS_TK 26
2
#define SRS_TK 26
3
#define ZRS_TK 26
4
#define AND_TK 26
5
#define XOR_TK 26
6
#define OR_TK 26
7
#define BOOL_AND_TK 26
8
#define BOOL_OR_TK 2
69
#define EQ_TK 27
0
#define NEQ_TK 27
1
#define GT_TK 27
2
#define GTE_TK 27
3
#define LT_TK 27
4
#define LTE_TK 27
5
#define PLUS_ASSIGN_TK 27
6
#define MINUS_ASSIGN_TK 27
7
#define MULT_ASSIGN_TK 27
8
#define DIV_ASSIGN_TK 2
79
#define REM_ASSIGN_TK 28
0
#define LS_ASSIGN_TK 28
1
#define SRS_ASSIGN_TK 28
2
#define ZRS_ASSIGN_TK 28
3
#define AND_ASSIGN_TK 28
4
#define XOR_ASSIGN_TK 28
5
#define OR_ASSIGN_TK 28
6
#define PUBLIC_TK 28
7
#define PRIVATE_TK 28
8
#define PROTECTED_TK 2
89
#define STATIC_TK 29
0
#define FINAL_TK 29
1
#define SYNCHRONIZED_TK 29
2
#define VOLATILE_TK 29
3
#define TRANSIENT_TK 29
4
#define NATIVE_TK 29
5
#define PAD_TK 29
6
#define ABSTRACT_TK 29
7
#define MODIFIER_TK 29
8
#define DECR_TK
299
#define INCR_TK 30
0
#define DEFAULT_TK 30
1
#define IF_TK 30
2
#define THROW_TK 30
3
#define BOOLEAN_TK 30
4
#define DO_TK 30
5
#define IMPLEMENTS_TK 30
6
#define THROWS_TK 30
7
#define BREAK_TK 30
8
#define IMPORT_TK 3
09
#define ELSE_TK 31
0
#define INSTANCEOF_TK 31
1
#define RETURN_TK 31
2
#define VOID_TK 31
3
#define CATCH_TK 31
4
#define INTERFACE_TK 31
5
#define CASE_TK 31
6
#define EXTENDS_TK 31
7
#define FINALLY_TK 31
8
#define SUPER_TK 3
19
#define WHILE_TK 32
0
#define CLASS_TK 32
1
#define SWITCH_TK 32
2
#define CONST_TK 32
3
#define TRY_TK 32
4
#define FOR_TK 32
5
#define NEW_TK 32
6
#define CONTINUE_TK 32
7
#define GOTO_TK 32
8
#define PACKAGE_TK 3
29
#define THIS_TK 33
0
#define BYTE_TK 33
1
#define SHORT_TK 33
2
#define INT_TK 33
3
#define LONG_TK 33
4
#define CHAR_TK 33
5
#define INTEGRAL_TK 33
6
#define FLOAT_TK 33
7
#define DOUBLE_TK 33
8
#define FP_TK 3
39
#define ID_TK 34
0
#define REL_QM_TK 34
1
#define REL_CL_TK 34
2
#define NOT_TK 34
3
#define NEG_TK 34
4
#define ASSIGN_ANY_TK 34
5
#define ASSIGN_TK 34
6
#define OP_TK 34
7
#define CP_TK 34
8
#define OCB_TK 3
49
#define CCB_TK 35
0
#define OSB_TK 35
1
#define CSB_TK 35
2
#define SC_TK 35
3
#define C_TK 35
4
#define DOT_TK 35
5
#define STRING_LIT_TK 35
6
#define CHAR_LIT_TK 35
7
#define INT_LIT_TK 35
8
#define FP_LIT_TK 3
59
#define TRUE_TK 36
0
#define FALSE_TK 36
1
#define BOOL_LIT_TK 36
2
#define NULL_TK 36
3
#line 37 "./parse-scan.y"
...
...
@@ -203,7 +202,7 @@ typedef union {
#define YYFLAG -32768
#define YYNTBASE 110
#define YYTRANSLATE(x) ((unsigned)(x) <= 36
4
? yytranslate[x] : 253)
#define YYTRANSLATE(x) ((unsigned)(x) <= 36
3
? 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
,
1
6
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
2
6
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
3
6
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
4
6
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
5
6
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
6
6
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
7
6
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
8
6
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
9
6
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
10
6
,
10
7
,
108
,
109
2
,
2
,
2
,
2
,
2
,
1
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
1
7
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
2
7
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
3
7
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
4
7
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
5
7
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
6
7
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
7
7
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
8
7
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
9
7
,
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,46 +1395,66 @@ 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
/* 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)
#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 */
#if defined (MSDOS) && !defined (__TURBOC__)
/* 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)
#include <malloc.h>
/* 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
#else
/* not MSDOS, __TURBOC__, or _AIX */
#ifdef __hpux
#ifdef __cplusplus
extern
"C"
{
void
*
alloca
(
unsigned
int
);
};
#else
/* not __cplusplus */
void
*
alloca
();
#endif
/* not __cplusplus */
#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
/* not sparc */
#endif
/* not GNU C */
#endif
/* alloca not defined */
#endif
/* YYSTACK_USE_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. */
#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
...
...
@@ -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"
...
...
gcc/java/parse.c
View file @
518f173d
/* 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 25
8
#define MINUS_TK 25
9
#define MULT_TK 2
60
#define DIV_TK 26
1
#define REM_TK 26
2
#define LS_TK 26
3
#define SRS_TK 26
4
#define ZRS_TK 26
5
#define AND_TK 26
6
#define XOR_TK 26
7
#define OR_TK 26
8
#define BOOL_AND_TK 26
9
#define BOOL_OR_TK 2
70
#define EQ_TK 27
1
#define NEQ_TK 27
2
#define GT_TK 27
3
#define GTE_TK 27
4
#define LT_TK 27
5
#define LTE_TK 27
6
#define PLUS_ASSIGN_TK 27
7
#define MINUS_ASSIGN_TK 27
8
#define MULT_ASSIGN_TK 27
9
#define DIV_ASSIGN_TK 2
80
#define REM_ASSIGN_TK 28
1
#define LS_ASSIGN_TK 28
2
#define SRS_ASSIGN_TK 28
3
#define ZRS_ASSIGN_TK 28
4
#define AND_ASSIGN_TK 28
5
#define XOR_ASSIGN_TK 28
6
#define OR_ASSIGN_TK 28
7
#define PUBLIC_TK 28
8
#define PRIVATE_TK 28
9
#define PROTECTED_TK 2
90
#define STATIC_TK 29
1
#define FINAL_TK 29
2
#define SYNCHRONIZED_TK 29
3
#define VOLATILE_TK 29
4
#define TRANSIENT_TK 29
5
#define NATIVE_TK 29
6
#define PAD_TK 29
7
#define ABSTRACT_TK 29
8
#define MODIFIER_TK 29
9
#define DECR_TK
300
#define INCR_TK 30
1
#define DEFAULT_TK 30
2
#define IF_TK 30
3
#define THROW_TK 30
4
#define BOOLEAN_TK 30
5
#define DO_TK 30
6
#define IMPLEMENTS_TK 30
7
#define THROWS_TK 30
8
#define BREAK_TK 30
9
#define IMPORT_TK 3
10
#define ELSE_TK 31
1
#define INSTANCEOF_TK 31
2
#define RETURN_TK 31
3
#define VOID_TK 31
4
#define CATCH_TK 31
5
#define INTERFACE_TK 31
6
#define CASE_TK 31
7
#define EXTENDS_TK 31
8
#define FINALLY_TK 31
9
#define SUPER_TK 3
20
#define WHILE_TK 32
1
#define CLASS_TK 32
2
#define SWITCH_TK 32
3
#define CONST_TK 32
4
#define TRY_TK 32
5
#define FOR_TK 32
6
#define NEW_TK 32
7
#define CONTINUE_TK 32
8
#define GOTO_TK 32
9
#define PACKAGE_TK 3
30
#define THIS_TK 33
1
#define BYTE_TK 33
2
#define SHORT_TK 33
3
#define INT_TK 33
4
#define LONG_TK 33
5
#define CHAR_TK 33
6
#define INTEGRAL_TK 33
7
#define FLOAT_TK 33
8
#define DOUBLE_TK 33
9
#define FP_TK 3
40
#define ID_TK 34
1
#define REL_QM_TK 34
2
#define REL_CL_TK 34
3
#define NOT_TK 34
4
#define NEG_TK 34
5
#define ASSIGN_ANY_TK 34
6
#define ASSIGN_TK 34
7
#define OP_TK 34
8
#define CP_TK 34
9
#define OCB_TK 3
50
#define CCB_TK 35
1
#define OSB_TK 35
2
#define CSB_TK 35
3
#define SC_TK 35
4
#define C_TK 35
5
#define DOT_TK 35
6
#define STRING_LIT_TK 35
7
#define CHAR_LIT_TK 35
8
#define INT_LIT_TK 35
9
#define FP_LIT_TK 3
60
#define TRUE_TK 36
1
#define FALSE_TK 36
2
#define BOOL_LIT_TK 36
3
#define NULL_TK 36
4
#define PLUS_TK 25
7
#define MINUS_TK 25
8
#define MULT_TK 2
59
#define DIV_TK 26
0
#define REM_TK 26
1
#define LS_TK 26
2
#define SRS_TK 26
3
#define ZRS_TK 26
4
#define AND_TK 26
5
#define XOR_TK 26
6
#define OR_TK 26
7
#define BOOL_AND_TK 26
8
#define BOOL_OR_TK 2
69
#define EQ_TK 27
0
#define NEQ_TK 27
1
#define GT_TK 27
2
#define GTE_TK 27
3
#define LT_TK 27
4
#define LTE_TK 27
5
#define PLUS_ASSIGN_TK 27
6
#define MINUS_ASSIGN_TK 27
7
#define MULT_ASSIGN_TK 27
8
#define DIV_ASSIGN_TK 2
79
#define REM_ASSIGN_TK 28
0
#define LS_ASSIGN_TK 28
1
#define SRS_ASSIGN_TK 28
2
#define ZRS_ASSIGN_TK 28
3
#define AND_ASSIGN_TK 28
4
#define XOR_ASSIGN_TK 28
5
#define OR_ASSIGN_TK 28
6
#define PUBLIC_TK 28
7
#define PRIVATE_TK 28
8
#define PROTECTED_TK 2
89
#define STATIC_TK 29
0
#define FINAL_TK 29
1
#define SYNCHRONIZED_TK 29
2
#define VOLATILE_TK 29
3
#define TRANSIENT_TK 29
4
#define NATIVE_TK 29
5
#define PAD_TK 29
6
#define ABSTRACT_TK 29
7
#define MODIFIER_TK 29
8
#define DECR_TK
299
#define INCR_TK 30
0
#define DEFAULT_TK 30
1
#define IF_TK 30
2
#define THROW_TK 30
3
#define BOOLEAN_TK 30
4
#define DO_TK 30
5
#define IMPLEMENTS_TK 30
6
#define THROWS_TK 30
7
#define BREAK_TK 30
8
#define IMPORT_TK 3
09
#define ELSE_TK 31
0
#define INSTANCEOF_TK 31
1
#define RETURN_TK 31
2
#define VOID_TK 31
3
#define CATCH_TK 31
4
#define INTERFACE_TK 31
5
#define CASE_TK 31
6
#define EXTENDS_TK 31
7
#define FINALLY_TK 31
8
#define SUPER_TK 3
19
#define WHILE_TK 32
0
#define CLASS_TK 32
1
#define SWITCH_TK 32
2
#define CONST_TK 32
3
#define TRY_TK 32
4
#define FOR_TK 32
5
#define NEW_TK 32
6
#define CONTINUE_TK 32
7
#define GOTO_TK 32
8
#define PACKAGE_TK 3
29
#define THIS_TK 33
0
#define BYTE_TK 33
1
#define SHORT_TK 33
2
#define INT_TK 33
3
#define LONG_TK 33
4
#define CHAR_TK 33
5
#define INTEGRAL_TK 33
6
#define FLOAT_TK 33
7
#define DOUBLE_TK 33
8
#define FP_TK 3
39
#define ID_TK 34
0
#define REL_QM_TK 34
1
#define REL_CL_TK 34
2
#define NOT_TK 34
3
#define NEG_TK 34
4
#define ASSIGN_ANY_TK 34
5
#define ASSIGN_TK 34
6
#define OP_TK 34
7
#define CP_TK 34
8
#define OCB_TK 3
49
#define CCB_TK 35
0
#define OSB_TK 35
1
#define CSB_TK 35
2
#define SC_TK 35
3
#define C_TK 35
4
#define DOT_TK 35
5
#define STRING_LIT_TK 35
6
#define CHAR_LIT_TK 35
7
#define INT_LIT_TK 35
8
#define FP_LIT_TK 3
59
#define TRUE_TK 36
0
#define FALSE_TK 36
1
#define BOOL_LIT_TK 36
2
#define NULL_TK 36
3
#line 48 "./parse.y"
...
...
@@ -449,7 +448,7 @@ typedef union {
#define YYFLAG -32768
#define YYNTBASE 110
#define YYTRANSLATE(x) ((unsigned)(x) <= 36
4
? yytranslate[x] : 267)
#define YYTRANSLATE(x) ((unsigned)(x) <= 36
3
? 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
,
1
6
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
2
6
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
3
6
,
37
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
4
6
,
47
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
5
6
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
6
6
,
67
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
7
6
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
8
6
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
9
6
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
10
6
,
10
7
,
108
,
109
2
,
2
,
2
,
2
,
2
,
1
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
1
7
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
26
,
2
7
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
3
7
,
38
,
39
,
40
,
41
,
42
,
43
,
44
,
45
,
46
,
4
7
,
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
5
7
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
6
7
,
68
,
69
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
7
7
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
86
,
8
7
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
96
,
9
7
,
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,46 +2309,66 @@ 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
/* 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)
#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 */
#if defined (MSDOS) && !defined (__TURBOC__)
/* 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)
#include <malloc.h>
/* 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
#else
/* not MSDOS, __TURBOC__, or _AIX */
#ifdef __hpux
#ifdef __cplusplus
extern
"C"
{
void
*
alloca
(
unsigned
int
);
};
#else
/* not __cplusplus */
void
*
alloca
();
#endif
/* not __cplusplus */
#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
/* not sparc */
#endif
/* not GNU C */
#endif
/* alloca not defined */
#endif
/* YYSTACK_USE_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. */
#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
...
...
@@ -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 someho
o
w 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_method
2
(
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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment