diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2014-10-04 10:18:07 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2014-10-04 10:18:07 +0000 |
commit | 63a496dedb96263534f3eb152d66d59e8f08b125 (patch) | |
tree | 7421d1b5eeb02ced79c6a1c69f9699e2a09e7444 | |
parent | 07f4a83d4afba28f8b73a9b9a8aeb48adec9eac3 (diff) | |
download | gcc-63a496dedb96263534f3eb152d66d59e8f08b125.zip gcc-63a496dedb96263534f3eb152d66d59e8f08b125.tar.gz gcc-63a496dedb96263534f3eb152d66d59e8f08b125.tar.bz2 |
re PR fortran/36534 (Bogus: '__convert_s1_s4' at (1) is obsolescent in fortran 95)
PR fortran/36534
* resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
* gfortran.dg/widechar_10.f90: New test.
From-SVN: r215887
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/widechar_10.f90 | 6 |
4 files changed, 21 insertions, 5 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8a781ad..03b3b66 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/36534 + * resolve.c (resolve_fl_procedure): Clean up obsolescence warning. + 2014-09-25 Tobias Burnus <burnus@net-b.de> * check.c (check_co_collective): Renamed from check_co_minmaxsum, diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 4b8f3b1..30ee175 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -11266,11 +11266,11 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag) } /* Appendix B.2 of the standard. Contained functions give an - error anyway. Fixed-form is likely to be F77/legacy. Deferred - character length is an F2003 feature. */ - if (!sym->attr.contained - && gfc_current_form != FORM_FIXED - && !sym->ts.deferred) + error anyway. Deferred character length is an F2003 feature. + Don't warn on intrinsic conversion functions, which start + with two underscores. */ + if (!sym->attr.contained && !sym->ts.deferred + && (sym->name[0] != '_' || sym->name[1] != '_')) gfc_notify_std (GFC_STD_F95_OBS, "CHARACTER(*) function '%s' at %L", sym->name, &sym->declared_at); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2293926..9db549e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-10-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + PR fortran/36534 + * gfortran.dg/widechar_10.f90: New test. + 2014-10-03 Jan Hubicka <hubicka@ucw.cz> * testsuite/g++.dg/ipa/devirt-42.C: New testcase. diff --git a/gcc/testsuite/gfortran.dg/widechar_10.f90 b/gcc/testsuite/gfortran.dg/widechar_10.f90 new file mode 100644 index 0000000..19f0ab3 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/widechar_10.f90 @@ -0,0 +1,6 @@ +! { dg-do compile } +! { dg-options "-pedantic" } +! PR fortran/36534 +CHARACTER (kind=4,len=*) MY_STRING4(1:3) +PARAMETER ( MY_STRING4 = (/ "A" , "B", "C" /) ) +end |