diff options
author | Tobias Burnus <burnus@net-b.de> | 2007-08-24 21:26:42 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-08-24 21:26:42 +0200 |
commit | ef7e861a0f89bce417b38c31b74c29ad88073548 (patch) | |
tree | de2a5e9510c4894d4515481deec390f55e15921b /gcc/fortran | |
parent | 3101faab4620ad49753a2ec8a33e08ee9f8c0bcb (diff) | |
download | gcc-ef7e861a0f89bce417b38c31b74c29ad88073548.zip gcc-ef7e861a0f89bce417b38c31b74c29ad88073548.tar.gz gcc-ef7e861a0f89bce417b38c31b74c29ad88073548.tar.bz2 |
re PR fortran/33178 (-std=f95: SIGN with integer arguments rejected as initialization expression)
2007-08-24 Tobias Burnus <burnus@net-b.de>
PR fortran/33178
* intrinsic.c (gfc_intrinsic_func_interface): Fix initialization
expression check.
2007-08-24 Tobias Burnus <burnus@net-b.de>
PR fortran/33178
* gfortran.dg/initialization_4.f90: Update dg-error.
* gfortran.dg/initialization_13.f90: New.
From-SVN: r127786
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.c | 10 |
2 files changed, 10 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7ab6c1e..95726ff 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-08-24 Tobias Burnus <burnus@net-b.de> + + PR fortran/33178 + * intrinsic.c (gfc_intrinsic_func_interface): Fix initialization + expression check. + 2007-08-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/32972 diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 3f999b4..4128e44 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -3409,12 +3409,10 @@ got_specific: (4) A reference to an elemental standard intrinsic function, where each argument is an initialization expression */ - if (gfc_init_expr - && isym->elemental - && (expr->ts.type != BT_INTEGER || expr->ts.type != BT_CHARACTER) - && gfc_notify_std (GFC_STD_F2003, "Extension: Evaluation of " - "nonstandard initialization expression at %L", - &expr->where) == FAILURE) + if (gfc_init_expr && isym->elemental && flag + && gfc_notify_std (GFC_STD_F2003, "Fortran 2003: Elemental function " + "as initialization expression with non-integer/non-" + "character arguments at %L", &expr->where) == FAILURE) return MATCH_ERROR; return MATCH_YES; |