diff options
author | Andrew Haley <aph@redhat.com> | 2003-11-12 17:00:53 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2003-11-12 17:00:53 +0000 |
commit | 0adaa7e4a5ef81122c11a64a4735da9bcfa35379 (patch) | |
tree | 592d5fa9013478a3b5bd9f35e47957384f037be2 /gcc | |
parent | c9389e79d44d90d591ea189b3dcf55ee75991639 (diff) | |
download | gcc-0adaa7e4a5ef81122c11a64a4735da9bcfa35379.zip gcc-0adaa7e4a5ef81122c11a64a4735da9bcfa35379.tar.gz gcc-0adaa7e4a5ef81122c11a64a4735da9bcfa35379.tar.bz2 |
re PR java/11045 (int cast bug)
2003-11-12 Andrew Haley <aph@redhat.com>
PR java/11045
* parse.y (fold_constant_for_init): Check that we really do have a
constant.
From-SVN: r73497
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/java/parse.y | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 303e71c..96d03d0 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,9 @@ 2003-11-12 Andrew Haley <aph@redhat.com> + PR java/11045 + * parse.y (fold_constant_for_init): Check that we really do have a + constant. + PR java/11533 * lang.c (merge_init_test_initialization): Clear DECL_INITIAL for init_test_decls being inlined. diff --git a/gcc/java/parse.y b/gcc/java/parse.y index c1b70dd..8a13e51 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -12080,8 +12080,8 @@ java_complete_lhs (tree node) /* When we have a primitype type, or a string and we're not emitting a class file, we actually don't want to generate anything for the assignment. */ - if (value != NULL_TREE && - (JPRIMITIVE_TYPE_P (TREE_TYPE (value)) || + if (value != NULL_TREE && + (JPRIMITIVE_TYPE_P (TREE_TYPE (value)) || (TREE_TYPE (value) == string_ptr_type_node && ! flag_emit_class_files))) { @@ -16089,7 +16089,11 @@ fold_constant_for_init (tree node, tree context) if (val == NULL_TREE || ! TREE_CONSTANT (val)) return NULL_TREE; TREE_OPERAND (node, 0) = val; - return patch_unaryop (node, op0); + val = patch_unaryop (node, op0); + if (! TREE_CONSTANT (val)) + return NULL_TREE; + return val; + break; case COND_EXPR: |