diff options
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r-- | gcc/java/jcf-write.c | 7 |
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++; |