aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/jcf-write.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 0d9f4c5..b06dd57 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,10 @@
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
COMPOUND_EXPR, set it's type correctly.
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index d090b56..026ceb5 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -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++;