diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/parse.c | 2 | ||||
-rw-r--r-- | gcc/java/parse.y | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/gcc/java/parse.c b/gcc/java/parse.c index e7d5c94..e6bf159 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -17225,6 +17225,8 @@ fold_constant_for_init (node, context) if (code == INTEGER_CST || code == REAL_CST) return convert (TREE_TYPE (context), node); + if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL && code != FIELD_DECL) + return NULL_TREE; switch (code) { diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 2ac6409..c62e841 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -14593,6 +14593,8 @@ fold_constant_for_init (node, context) if (code == INTEGER_CST || code == REAL_CST) return convert (TREE_TYPE (context), node); + if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL && code != FIELD_DECL) + return NULL_TREE; switch (code) { |