class.c (make_field_value): DECL_INITIAL may be a string literal...
authorPer Bothner <bothner@gcc.gnu.org>
Wed, 5 May 1999 21:09:55 +0000 (14:09 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Wed, 5 May 1999 21:09:55 +0000 (14:09 -0700)
commitc14cff58e5c6d6052e940cb1adf03733154ec9b6
treeba6406c36d21ff54e5fa5724be1e62a2dc6fbf99
parent10b905f1eab24dd18a023aaa3681a3673866de10
class.c (make_field_value): DECL_INITIAL may be a string literal...

* class.c (make_field_value):  DECL_INITIAL may be a string literal;
temporarily zero it while calling rest_of_decl_compilation.
* java-tree.h (string_ptr_type_node):  Add declaration.
* decl.c:  Define and initialize string_ptr_type_node.
* parse.y (patch_string_cst):  Use string_ptr_type_node.
* parse.h (LOOP_HAS_LABEL_P, LOOP_HAS_LABEL_SKIP_P):  Removed.
* parse.y (for_statement):  Now unconditionally exit_block.
(finish_labeled_statement):  No longer exit_block if for-loop.
(patch_loop_statement):  Check harder if the loop is already labeled.
* parse.y (patch_initialized_static_field):  Removed function.
(maybe_generate_clinit):  Removed special handling for interfaces.
(java_complete_expand_methods):  Do a preliminary java_complete_tree
on <clinit> to determine if it can be removed.
(java_complete_expand_method):  Remove special handling for <clinit>.
(java_complete_lhs):  For BLOCK and EXPR_WITH_FILE_LOCATION
optimize if we get back empty_stmt_node.
For MODIFY_EXPR, re-do checking of static initializers.
(fold_constant_for_init):  Don't return immediate if VAR_DECL.
For VAR_DECL, pass correct context.

From-SVN: r26789
gcc/java/ChangeLog