diff options
Diffstat (limited to 'gcc/fortran/arith.c')
-rw-r--r-- | gcc/fortran/arith.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c index 6fa7c70..e94566a 100644 --- a/gcc/fortran/arith.c +++ b/gcc/fortran/arith.c @@ -906,7 +906,10 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp) if (gfc_notify_std (GFC_STD_F2003, "Noninteger " "exponent in an initialization " "expression at %L", &op2->where) == FAILURE) - return ARITH_PROHIBIT; + { + gfc_free_expr (result); + return ARITH_PROHIBIT; + } } if (mpfr_cmp_si (op1->value.real, 0) < 0) @@ -928,7 +931,10 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp) if (gfc_notify_std (GFC_STD_F2003, "Noninteger " "exponent in an initialization " "expression at %L", &op2->where) == FAILURE) - return ARITH_PROHIBIT; + { + gfc_free_expr (result); + return ARITH_PROHIBIT; + } } mpc_pow (result->value.complex, op1->value.complex, |