aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2009-05-06 17:44:18 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2009-05-06 17:44:18 +0200
commitb050b2dec68289dc363907df52e0b558f5443251 (patch)
tree4a987a2be2a59e5ddaa4159669ce452ba4b6e923 /gcc/fortran
parent1f11033528b5b35ecc84eb4afa53c64509eb542c (diff)
downloadgcc-b050b2dec68289dc363907df52e0b558f5443251.zip
gcc-b050b2dec68289dc363907df52e0b558f5443251.tar.gz
gcc-b050b2dec68289dc363907df52e0b558f5443251.tar.bz2
re PR fortran/40041 (spurious warning with INTRINSIC statement)
2009-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/40041 * resolve.c (resolve_symbol): Print no warning for implicitly typed intrinsic functions. 2009-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/40041 * gfortran.dg/intrinsic_2.f90: New test. * gfortran.dg/intrinsic.f90: Add old and this PR as comment. From-SVN: r147183
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3e9c86a..1cbfa14 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40041
+ * resolve.c (resolve_symbol): Print no warning for implicitly
+ typed intrinsic functions.
+
2009-05-05 Janus Weil <janus@gcc.gnu.org>
PR fortran/39998
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index fe79e4a..1878042 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -9320,13 +9320,14 @@ resolve_symbol (gfc_symbol *sym)
if ((isym = gfc_find_function (sym->name)))
{
- if (sym->ts.type != BT_UNKNOWN && gfc_option.warn_surprising)
+ if (sym->ts.type != BT_UNKNOWN && gfc_option.warn_surprising
+ && !sym->attr.implicit_type)
gfc_warning ("Type specified for intrinsic function '%s' at %L is"
" ignored", sym->name, &sym->declared_at);
}
else if ((isym = gfc_find_subroutine (sym->name)))
{
- if (sym->ts.type != BT_UNKNOWN)
+ if (sym->ts.type != BT_UNKNOWN && !sym->attr.implicit_type)
{
gfc_error ("Intrinsic subroutine '%s' at %L shall not have a type"
" specifier", sym->name, &sym->declared_at);