From e7c1c8d1a18a2551c91254fc2b92f69c788c077b Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Fri, 24 Nov 2006 22:45:36 +0100 Subject: resolve.c (resolve_actual_arglist): Remove the special case for CHAR. * resolve.c (resolve_actual_arglist): Remove the special case for CHAR. * intrinsic.c (add_functions): Remove the special case for CHAR. * gfortran.dg/specifics_1.f90: Remove check for CHAR. * gfortran.dg/specifics_2.f90: Remove check for CHAR. * gfortran.dg/specifics_3.f90: Remove. From-SVN: r119170 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/intrinsic.c | 9 +++------ gcc/fortran/resolve.c | 6 ------ 3 files changed, 9 insertions(+), 12 deletions(-) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8391c96..856f1e5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2006-11-24 Francois-Xavier Coudert + + * resolve.c (resolve_actual_arglist): Remove the special case for + CHAR. + * intrinsic.c (add_functions): Remove the special case for CHAR. + 2006-11-22 Tobias Schlueter PR fortran/29441 diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index d284f3c..ea68d69 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -200,7 +200,7 @@ do_check (gfc_intrinsic_sym * specific, gfc_actual_arglist * arg) Argument list: char * name of function int whether function is elemental - int If the function can be used as an actual argument [1] [2] + int If the function can be used as an actual argument [1] bt return type of function int kind of return type of function int Fortran standard version @@ -221,10 +221,7 @@ do_check (gfc_intrinsic_sym * specific, gfc_actual_arglist * arg) determined by its presence on the 13.6 list in Fortran 2003. The following intrinsics, which are GNU extensions, are considered allowed as actual arguments: ACOSH ATANH DACOSH DASINH DATANH DCONJG DIMAG - ZABS ZCOS ZEXP ZLOG ZSIN ZSQRT. - [2] The value 2 is used in this field for CHAR, which is allowed as an - actual argument in F2003, but not in F95. It is the only such - intrinsic function. */ + ZABS ZCOS ZEXP ZLOG ZSIN ZSQRT. */ static void add_sym (const char *name, int elemental, int actual_ok, bt type, int kind, @@ -1180,7 +1177,7 @@ add_functions (void) make_generic ("ceiling", GFC_ISYM_CEILING, GFC_STD_F95); - add_sym_2 ("char", 1, 2, BT_CHARACTER, dc, GFC_STD_F77, + add_sym_2 ("char", ELEMENTAL, ACTUAL_NO, BT_CHARACTER, dc, GFC_STD_F77, gfc_check_char, gfc_simplify_char, gfc_resolve_char, i, BT_INTEGER, di, REQUIRED, kind, BT_INTEGER, di, OPTIONAL); diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index e798070..44ca7d9 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -881,12 +881,6 @@ resolve_actual_arglist (gfc_actual_arglist * arg) gfc_error ("Intrinsic '%s' at %L is not allowed as an " "actual argument", sym->name, &e->where); } - else if (sym->attr.intrinsic && actual_ok == 2) - /* We need a special case for CHAR, which is the only intrinsic - function allowed as actual argument in F2003 and not allowed - in F95. */ - gfc_notify_std (GFC_STD_F2003, "Fortran 2003: CHAR intrinsic " - "as actual argument at %L", &e->where); if (sym->attr.contained && !sym->attr.use_assoc && sym->ns->proc_name->attr.flavor != FL_MODULE) -- cgit v1.1