diff options
Diffstat (limited to 'gcc/java/check-init.c')
-rw-r--r-- | gcc/java/check-init.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/java/check-init.c b/gcc/java/check-init.c index 63ee697..36a0f19 100644 --- a/gcc/java/check-init.c +++ b/gcc/java/check-init.c @@ -611,7 +611,6 @@ check_init (exp, before) case FIX_TRUNC_EXPR: case INDIRECT_REF: case ADDR_EXPR: - case SAVE_EXPR: case PREDECREMENT_EXPR: case PREINCREMENT_EXPR: case POSTDECREMENT_EXPR: @@ -622,6 +621,13 @@ check_init (exp, before) exp = TREE_OPERAND (exp, 0); goto again; + case SAVE_EXPR: + if (IS_INIT_CHECKED (exp)) + return; + IS_INIT_CHECKED (exp) = 1; + exp = TREE_OPERAND (exp, 0); + goto again; + case COMPOUND_EXPR: case PLUS_EXPR: case MINUS_EXPR: |