re PR java/1074 (jv-scan fails on ArrayClass.java)
2001-03-30 Alexandre Petit-Bianco <apbianco@redhat.com> * parse-scan.y (array_type:): Rewritten. (type_declaration:): `empty_statement' replaces `SC_TK.' (class_member_declaration:): `empty statement' added. (method_body:): Simplified. (static_initializer:): Likewise. (primary_no_new_array:): Use `type_literals.' (type_literals:): New rule. (dims:): Set and update `bracket_count.' Fixes PR java/1074. Fixes PR java/2412. (http://gcc.gnu.org/ml/gcc-bugs/2001-03/msg00835.html, http://gcc.gnu.org/ml/gcc-bugs/2000-12/msg00384.html, http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00258.html) From-SVN: r41089
This commit is contained in:
parent
dd7fc59c36
commit
de307574bf
@ -10,6 +10,18 @@
|
||||
lang_printable_name call in a scratch buffer, so it
|
||||
won't be clobbered by the second call.
|
||||
|
||||
2001-03-30 Alexandre Petit-Bianco <apbianco@redhat.com>
|
||||
|
||||
* parse-scan.y (array_type:): Rewritten.
|
||||
(type_declaration:): `empty_statement' replaces `SC_TK.'
|
||||
(class_member_declaration:): `empty statement' added.
|
||||
(method_body:): Simplified.
|
||||
(static_initializer:): Likewise.
|
||||
(primary_no_new_array:): Use `type_literals.'
|
||||
(type_literals:): New rule.
|
||||
(dims:): Set and update `bracket_count.'
|
||||
Fixes PR java/1074. Fixes PR java/2412.
|
||||
|
||||
2001-03-28 Hans Boehm <boehm@acm.org>
|
||||
|
||||
* boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Set to use `build_int_2.'
|
||||
|
@ -242,14 +242,15 @@ interface_type:
|
||||
;
|
||||
|
||||
array_type:
|
||||
primitive_type OSB_TK CSB_TK
|
||||
| name OSB_TK CSB_TK
|
||||
primitive_type dims
|
||||
{
|
||||
$$ = concat ("[", $1, NULL);
|
||||
while (bracket_count-- > 0)
|
||||
$$ = concat ("[", $1, NULL);
|
||||
}
|
||||
| array_type OSB_TK CSB_TK
|
||||
| name dims
|
||||
{
|
||||
$$ = concat ("[", $1, NULL);
|
||||
while (bracket_count-- > 0)
|
||||
$$ = concat ("[", $1, NULL);
|
||||
}
|
||||
;
|
||||
|
||||
@ -316,7 +317,7 @@ type_import_on_demand_declaration:
|
||||
type_declaration:
|
||||
class_declaration
|
||||
| interface_declaration
|
||||
| SC_TK
|
||||
| empty_statement
|
||||
;
|
||||
|
||||
/* 19.7 Shortened from the original:
|
||||
@ -393,6 +394,7 @@ class_member_declaration:
|
||||
| method_declaration
|
||||
| class_declaration /* Added, JDK1.1 inner classes */
|
||||
| interface_declaration /* Added, JDK1.1 inner classes */
|
||||
| empty_statement
|
||||
;
|
||||
|
||||
/* 19.8.2 Productions from 8.3: Field Declarations */
|
||||
@ -513,14 +515,12 @@ class_type_list:
|
||||
|
||||
method_body:
|
||||
block
|
||||
| block SC_TK
|
||||
| SC_TK
|
||||
;
|
||||
|
||||
/* 19.8.4 Productions from 8.5: Static Initializers */
|
||||
static_initializer:
|
||||
static block
|
||||
| static block SC_TK /* Shouldn't be here. FIXME */
|
||||
;
|
||||
|
||||
static: /* Test lval.sub_token here */
|
||||
@ -892,14 +892,7 @@ primary_no_new_array:
|
||||
| field_access
|
||||
| method_invocation
|
||||
| array_access
|
||||
/* type DOT_TK CLASS_TK doens't work. So we split the rule
|
||||
'type' into its components. Missing is something for array,
|
||||
which will complete the reference_type part. FIXME */
|
||||
| name DOT_TK CLASS_TK /* Added, JDK1.1 class literals */
|
||||
{ USE_ABSORBER; }
|
||||
| primitive_type DOT_TK CLASS_TK /* Added, JDK1.1 class literals */
|
||||
{ USE_ABSORBER; }
|
||||
| VOID_TK DOT_TK CLASS_TK /* Added, JDK1.1 class literals */
|
||||
| type_literals
|
||||
/* Added, JDK1.1 inner classes. Documentation is wrong
|
||||
refering to a 'ClassName' (class_name) rule that doesn't
|
||||
exist. Used name instead. */
|
||||
@ -907,6 +900,17 @@ primary_no_new_array:
|
||||
{ USE_ABSORBER; }
|
||||
;
|
||||
|
||||
type_literals:
|
||||
name DOT_TK CLASS_TK
|
||||
{ USE_ABSORBER; }
|
||||
| array_type DOT_TK CLASS_TK
|
||||
{ USE_ABSORBER; }
|
||||
| primitive_type DOT_TK CLASS_TK
|
||||
{ USE_ABSORBER; }
|
||||
| VOID_TK DOT_TK CLASS_TK
|
||||
{ USE_ABSORBER; }
|
||||
;
|
||||
|
||||
class_instance_creation_expression:
|
||||
NEW_TK class_type OP_TK argument_list CP_TK
|
||||
| NEW_TK class_type OP_TK CP_TK
|
||||
@ -960,7 +964,9 @@ dim_expr:
|
||||
|
||||
dims:
|
||||
OSB_TK CSB_TK
|
||||
{ bracket_count = 1; }
|
||||
| dims OSB_TK CSB_TK
|
||||
{ bracket_count++; }
|
||||
;
|
||||
|
||||
field_access:
|
||||
|
Loading…
Reference in New Issue
Block a user