aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index ecd14af..0d2a038 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -2874,8 +2874,11 @@ generate_classfile (clas, state)
i = find_utf8_constant (&state->cpool,
build_java_signature (TREE_TYPE (part)));
PUT2(i);
- have_value = DECL_INITIAL (part) != NULL_TREE && FIELD_STATIC (part)
- && TREE_CODE (TREE_TYPE (part)) != POINTER_TYPE;
+ have_value = DECL_INITIAL (part) != NULL_TREE
+ && FIELD_STATIC (part)
+ && (TREE_CODE (DECL_INITIAL (part)) == STRING_CST
+ || TREE_CODE (DECL_INITIAL (part)) == INTEGER_CST
+ || TREE_CODE (DECL_INITIAL (part)) == REAL_CST);
if (have_value)
attr_count++;