aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-08-30 21:14:44 -0700
committerPer Bothner <bothner@gcc.gnu.org>2001-08-30 21:14:44 -0700
commitbe0c7ff4050a473ce2d989b7ab7ac85fc640490c (patch)
tree171237c0c04c33e34c982639ef722505236101e0 /gcc/java/jcf-write.c
parentf0cdee96aa2a739a34f820638c98814b139e3bd5 (diff)
downloadgcc-be0c7ff4050a473ce2d989b7ab7ac85fc640490c.zip
gcc-be0c7ff4050a473ce2d989b7ab7ac85fc640490c.tar.gz
gcc-be0c7ff4050a473ce2d989b7ab7ac85fc640490c.tar.bz2
jcf-write.c (generate_classfile): Check that field is primitive or string before emitting ConstantValue attribute.
* jcf-write.c (generate_classfile): Check that field is primitive or string before emitting ConstantValue attribute. From-SVN: r45306
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c4
1 files changed, 3 insertions, 1 deletions
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++;