From: Per Bothner Date: Sun, 14 Jan 2001 17:37:09 +0000 (-0800) Subject: expr.c (expand_java_field_op): Assigning to a final field outside an initializer... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d9da31dd9a2c85e33e8f997b88eccf759b2a76c9;p=gcc.git expr.c (expand_java_field_op): Assigning to a final field outside an initializer does not violate JVM spec... * expr.c (expand_java_field_op): Assigning to a final field outside an initializer does not violate JVM spec, so should be warning, not error. (Sun's verifier does not complain - though MicroSoft's does.) From-SVN: r39013 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 71516457aca..0907e731642 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-01-13 Per Bothner + + * expr.c (expand_java_field_op): Assigning to a final field outside + an initializer does not violate JVM spec, so should be warning, not + error. (Sun's verifier does not complain - though MicroSoft's does.) + 2001-01-12 Joseph S. Myers * gjavah.c (version), jcf-dump.c (version): Update copyright year diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 4ad903ee70e..ddfc473f797 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2215,7 +2215,7 @@ expand_java_field_op (is_static, is_putting, field_ref_index) else if (FIELD_STATIC (field_decl)) { if (!DECL_CLINIT_P (current_function_decl)) - error_with_decl (field_decl, + warning_with_decl (field_decl, "assignment to final static field `%s' not in class initializer"); } else @@ -2223,7 +2223,7 @@ expand_java_field_op (is_static, is_putting, field_ref_index) tree cfndecl_name = DECL_NAME (current_function_decl); if (! DECL_CONSTRUCTOR_P (current_function_decl) && !ID_FINIT_P (cfndecl_name)) - error_with_decl (field_decl, "assignment to final field `%s' not in constructor"); + warning_with_decl (field_decl, "assignment to final field `%s' not in constructor"); } } expand_assignment (field_ref, new_value, 0, 0);