diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-04 20:02:43 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-04 20:02:43 +0000 |
commit | e3da689054feeaf001f5f010ab5faaf7e432e2ef (patch) | |
tree | c340a0d95065e76783fb2fd0a7e0fa944b3eefeb /gcc/fortran | |
parent | 9fb2e10d0cf939b41bdc097c4b2cc0aff553a92e (diff) | |
download | gcc-e3da689054feeaf001f5f010ab5faaf7e432e2ef.tar.gz |
fortran/
2006-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/29962
* expr.c (check_intrinsic_op): Allow noninteger exponents for F2003.
testsuite/
2006-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/29962
* initialization_4.f90: Test noninteger exponents (-std=f95).
* initialization_5.f90: New test for noninteger exponents with -std=f2003
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119505 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/expr.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2ce1ec667f6..eeaaa481b2a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2006-12-04 Tobias Burnus <burnus@net-b.de> + + PR fortran/29962 + * expr.c (check_intrinsic_op): Allow noninteger exponents for F2003. + 2006-12-04 Paul Thomas <pault@gcc.gnu.org> PR fortran/29821 diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 16e89f85c26..f806497bc38 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -1622,9 +1622,11 @@ check_intrinsic_op (gfc_expr * e, try (*check_function) (gfc_expr *)) if (e->value.op.operator == INTRINSIC_POWER && check_function == check_init_expr && et0 (op2) != BT_INTEGER) { - gfc_error ("Exponent at %L must be INTEGER for an initialization " - "expression", &op2->where); - return FAILURE; + if (gfc_notify_std (GFC_STD_F2003,"Fortran 2003: Noninteger " + "exponent in an initialization " + "expression at %L", &op2->where) + == FAILURE) + return FAILURE; } break; |