parse.y (fold_constant_for_init): New function.
authorPer Bothner <bothner@gcc.gnu.org>
Mon, 14 Dec 1998 19:22:28 +0000 (11:22 -0800)
committerPer Bothner <bothner@gcc.gnu.org>
Mon, 14 Dec 1998 19:22:28 +0000 (11:22 -0800)
commit5b09b33e5f35eb738a54b9e46f3709bbcc7bdc22
treec6057856f6d3fde57370b11c3d7273fb2361955d
parentc1c7db89c03daaed2fdfb1713b4857b56143f75f
parse.y (fold_constant_for_init): New function.

d
* parse.y (fold_constant_for_init):  New function.
(resolve_expression_name):  Don't replace static final
  constant-initialized fields by its value.
(java_complete_lhs):  New.  Same as java_complete_tree, except does
not replace static final constant-initialized fields by their values.
(register_fields):  If there is an initializer, set DECL_INITIAL and
MODIFY_EXPR_FROM_INITIALIZATION_P.
(java_complete_tree):  For MODIFY_EXPR, use java_complete_lhs for lhs.
Only call patch_initialized_static_field if
MODIFY_EXPR_FROM_INITIALIZATION_P.
(patch_initialized_static_field):  If not valid constant, clear
DECL_INITIAL.
* parse.y (lookup_field_wrapper):  Fix thinko.
* parse.y (java_complete_tree):  In EXPR_WITH_FILE_LOCATION,
set and restore global lineno.

From-SVN: r24316
gcc/java/parse.c
gcc/java/parse.y