+2002-10-21 Matthias Klose <doko@debian.org>
+
+ * Backport, without whitespace change:
+
+ 2002-06-10 Akim Demaille <akim@epita.fr>
+ * parse.y (interface_type_list, class_member_declaration)
+ (unary_expression_not_plus_minus): Remove duplicate %type.
+ Whitespace changes.
+
+ 2002-06-13 Akim Demaille <akim@epita.fr>
+ * parse.y (class_declaration, interface_declaration): Make sure
+ all their rules have an action, in order to avoid meaningless `$$
+ = $1' and their type clashes.
+
+ * parse.y (catch_clause): Terminate with `;'.
+
2002-10-06 Roger Sayle <roger@eyesopen.com>
PR optimization/6627
* jcf-parse.c (get_constant): CONSTANT_Integer: Use an unsigned
HOST_WIDE_INT for num. Use JPOOL_UINT to get it.
CONSTANT_Double: Use JPOOL_UINT to get both halves of a double.
-
+
2002-04-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* class.c (make_class_data): Set DECL_ALIGN on static class data,
* expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
* decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
class_type_node.
-
+
2002-04-16 Mark Wielaard <mark@klomp.org>
* jcf-write.c (generate_bytecode_insns): Only write const_0 if not
%type <node> type_declaration compilation_unit
field_declaration method_declaration extends_interfaces
interfaces interface_type_list
- class_member_declaration
import_declarations package_declaration
type_declarations interface_body
interface_member_declaration constant_declaration
interface_member_declarations interface_type
- abstract_method_declaration interface_type_list
+ abstract_method_declaration
%type <node> class_body_declaration class_member_declaration
static_initializer constructor_declaration block
%type <node> class_body_declarations constructor_header
post_increment_expression post_decrement_expression
unary_expression_not_plus_minus unary_expression
pre_increment_expression pre_decrement_expression
- unary_expression_not_plus_minus cast_expression
+ cast_expression
multiplicative_expression additive_expression
shift_expression relational_expression
equality_expression and_expression
modifiers CLASS_TK identifier super interfaces
{ create_class ($1, $3, $4, $5); }
class_body
+ {;}
| CLASS_TK identifier super interfaces
{ create_class (0, $2, $3, $4); }
class_body
+ {;}
| modifiers CLASS_TK error
{yyerror ("Missing class name"); RECOVER;}
| CLASS_TK error
INTERFACE_TK identifier
{ create_interface (0, $2, NULL_TREE); }
interface_body
+ { ; }
| modifiers INTERFACE_TK identifier
{ create_interface ($1, $3, NULL_TREE); }
interface_body
+ { ; }
| INTERFACE_TK identifier extends_interfaces
{ create_interface (0, $2, $3); }
interface_body
+ { ; }
| modifiers INTERFACE_TK identifier extends_interfaces
{ create_interface ($1, $3, $4); }
interface_body
+ { ; }
| INTERFACE_TK identifier error
{yyerror ("'{' expected"); RECOVER;}
| modifiers INTERFACE_TK identifier error
exit_block ();
$$ = $1;
}
+;
catch_clause_parameter:
CATCH_TK OP_TK formal_parameter CP_TK