jcf-write.c (generate_classfile): Check that field is primitive or string before...
authorPer Bothner <per@bothner.com>
Fri, 31 Aug 2001 04:14:44 +0000 (21:14 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Fri, 31 Aug 2001 04:14:44 +0000 (21:14 -0700)
* jcf-write.c (generate_classfile):  Check that field is primitive
or string before emitting ConstantValue attribute.

From-SVN: r45306

gcc/java/ChangeLog
gcc/java/jcf-write.c

index 0d9f4c52e4bf4964f401aa821190fd59b025aa25..b06dd57aa469b51c0e90440ff8691953e374bc76 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-30  Per Bothner  <per@bothner.com>
+
+       * jcf-write.c (generate_classfile):  Check that field is primitive
+       or string before emitting ConstantValue attribute.
+       
 2001-08-30  Per Bothner  <per@bothner.com>
 
        * parse.y (resolve_qualified_expression_name):  If creating a
index d090b5678aefe386ff93fb2dafb9d47da2c0399a..026ceb5d068bf3f49a0770192dd3dd6f746120da 100644 (file)
@@ -2885,7 +2885,9 @@ generate_classfile (clas, state)
       PUT2(i);
       have_value = DECL_INITIAL (part) != NULL_TREE 
        && FIELD_STATIC (part) && CONSTANT_VALUE_P (DECL_INITIAL (part))
-       && FIELD_FINAL (part);
+       && FIELD_FINAL (part)
+       && (JPRIMITIVE_TYPE_P (TREE_TYPE (part))
+           || TREE_TYPE (part) == string_ptr_type_node);
       if (have_value)
        attr_count++;