+2001-01-13 Per Bothner <per@bothner.com>
+
+ * 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 <jsm28@cam.ac.uk>
* gjavah.c (version), jcf-dump.c (version): Update copyright year
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
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);