class.c (make_field_value): DECL_INITIAL may be a string literal...
authorPer Bothner <bothner@gcc.gnu.org>
Wed, 5 May 1999 21:10:07 +0000 (14:10 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Wed, 5 May 1999 21:10:07 +0000 (14:10 -0700)
commitcd9643f75b2f7bc41642bd988532a03ba923c3f4
tree6125e0290d9b6e83ae6f4e2dd48bdf11dfdaa937
parentc14cff58e5c6d6052e940cb1adf03733154ec9b6
class.c (make_field_value): DECL_INITIAL may be a string literal...

d
* 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: r26790
gcc/java/class.c
gcc/java/decl.c
gcc/java/java-tree.h
gcc/java/parse.c
gcc/java/parse.h
gcc/java/parse.y