aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2006-11-24 22:45:36 +0100
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2006-11-24 21:45:36 +0000
commite7c1c8d1a18a2551c91254fc2b92f69c788c077b (patch)
treee1cbdc1778fa66c881bd9fcfcaee531c042b2114 /gcc/fortran
parent5c386a95ee20b9bb8f705ed1f8394ca7b4bafa7d (diff)
downloadgcc-e7c1c8d1a18a2551c91254fc2b92f69c788c077b.zip
gcc-e7c1c8d1a18a2551c91254fc2b92f69c788c077b.tar.gz
gcc-e7c1c8d1a18a2551c91254fc2b92f69c788c077b.tar.bz2
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
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/intrinsic.c9
-rw-r--r--gcc/fortran/resolve.c6
3 files changed, 9 insertions, 12 deletions
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 <coudert@clipper.ens.fr>
+
+ * 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 <tobias.schlueter@physik.uni-muenchen.de>
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)