diff options
author | Janus Weil <janus@gcc.gnu.org> | 2013-04-04 21:21:01 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2013-04-04 21:21:01 +0200 |
commit | fbdeeaac539d9cf635a5d6bf622d166f77e762d5 (patch) | |
tree | 0c9fb7f88c1f82b655859b318a75484cc385cb3f /gcc | |
parent | 3465257612a4b23668d6e6c22404024a5885da0b (diff) | |
download | gcc-fbdeeaac539d9cf635a5d6bf622d166f77e762d5.zip gcc-fbdeeaac539d9cf635a5d6bf622d166f77e762d5.tar.gz gcc-fbdeeaac539d9cf635a5d6bf622d166f77e762d5.tar.bz2 |
re PR fortran/40881 ([F03] warn for obsolescent features)
2013-04-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/40881
* match.c (gfc_match_return): Remove standard notification.
* primary.c (gfc_match_actual_arglist): Add standard notification.
2013-04-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/40881
* gfortran.dg/altreturn_1.f90: Add -std=gnu.
* gfortran.dg/altreturn_4.f90: Ditto.
* gfortran.dg/altreturn_3.f90: Replace -std=legacy by -std=gnu.
* gfortran.dg/altreturn_5.f90: Ditto.
* gfortran.dg/altreturn_6.f90: Ditto.
* gfortran.dg/altreturn_7.f90: Ditto.
From-SVN: r197495
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/match.c | 4 | ||||
-rw-r--r-- | gcc/fortran/primary.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_1.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_3.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_4.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_5.f90 | 49 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_6.f90 | 2 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/altreturn_7.f90 | 2 |
10 files changed, 51 insertions, 32 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c42d02f..6692350 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2013-04-04 Janus Weil <janus@gcc.gnu.org> + + PR fortran/40881 + * match.c (gfc_match_return): Remove standard notification. + * primary.c (gfc_match_actual_arglist): Add standard notification. + 2013-04-04 Tobias Burnus <burnus@net-b.de> PR fortran/50269 diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index d75cf1c..be8740c 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -4040,10 +4040,6 @@ gfc_match_return (void) goto cleanup; } - if (gfc_notify_std (GFC_STD_F95_OBS, "Alternate RETURN " - "at %C") == FAILURE) - return MATCH_ERROR; - if (gfc_current_form == FORM_FREE) { /* The following are valid, so we can't require a blank after the diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index d149224..6664dd2 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -1719,6 +1719,10 @@ gfc_match_actual_arglist (int sub_flag, gfc_actual_arglist **argp) if (m != MATCH_YES) goto cleanup; + if (gfc_notify_std (GFC_STD_F95_OBS, "Alternate-return argument " + "at %C") == FAILURE) + goto cleanup; + tail->label = label; goto next; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 56f1044..1759775 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2013-04-04 Janus Weil <janus@gcc.gnu.org> + + PR fortran/40881 + * gfortran.dg/altreturn_1.f90: Add -std=gnu. + * gfortran.dg/altreturn_4.f90: Ditto. + * gfortran.dg/altreturn_3.f90: Replace -std=legacy by -std=gnu. + * gfortran.dg/altreturn_5.f90: Ditto. + * gfortran.dg/altreturn_6.f90: Ditto. + * gfortran.dg/altreturn_7.f90: Ditto. + 2013-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (check_effective_target_arm_v8_neon_hw): diff --git a/gcc/testsuite/gfortran.dg/altreturn_1.f90 b/gcc/testsuite/gfortran.dg/altreturn_1.f90 index c0ae15f..7ec77c1 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_1.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_1.f90 @@ -1,4 +1,6 @@ ! { dg-do compile } +! { dg-options "-std=gnu" } + subroutine foo (a) real t, a, baz call bar (*10) diff --git a/gcc/testsuite/gfortran.dg/altreturn_3.f90 b/gcc/testsuite/gfortran.dg/altreturn_3.f90 index 28fc6a8..c445159 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_3.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_3.f90 @@ -1,5 +1,5 @@ ! { dg-do run } -! { dg-options "-std=legacy" } +! { dg-options "-std=gnu" } ! ! Tests the fix for PR30236, which was due to alternate returns ! in generic interfaces causing a segfault. They now work diff --git a/gcc/testsuite/gfortran.dg/altreturn_4.f90 b/gcc/testsuite/gfortran.dg/altreturn_4.f90 index 409ea51..7375544 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_4.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_4.f90 @@ -1,4 +1,6 @@ ! { dg-do compile } +! { dg-options "-std=gnu" } +! ! Tests the fix for PR28172, in which an ICE would result from ! the contained call with an alternate retrun. diff --git a/gcc/testsuite/gfortran.dg/altreturn_5.f90 b/gcc/testsuite/gfortran.dg/altreturn_5.f90 index a8b6ff8..a552d39 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_5.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_5.f90 @@ -1,33 +1,32 @@ -! { dg-do run } -! { dg-options "-std=legacy" } -! -! Tests the fix for PR31483, in which dummy argument procedures -! produced an ICE if they had an alternate return. -! -! Contributed by Mathias Fröhlich <M.Froehlich@science-computing.de> - - SUBROUTINE R (i, *, *) - INTEGER i - RETURN i - END - +! { dg-do run }
+! { dg-options "-std=gnu" }
+!
+! Tests the fix for PR31483, in which dummy argument procedures
+! produced an ICE if they had an alternate return.
+!
+! Contributed by Mathias Fröhlich <M.Froehlich@science-computing.de>
+
+ SUBROUTINE R (i, *, *)
+ INTEGER i
+ RETURN i
+ END
+
SUBROUTINE PHLOAD (READER, i, res)
IMPLICIT NONE
- EXTERNAL READER - integer i + EXTERNAL READER
+ integer i
character(3) res
CALL READER (i, *1, *2)
- 1 res = "one" + 1 res = "one"
return
- 2 res = "two" + 2 res = "two"
return
- END - - EXTERNAL R - character(3) res
- call PHLOAD (R, 1, res) - if (res .ne. "one") call abort () - CALL PHLOAD (R, 2, res) - if (res .ne. "two") call abort () END
+ EXTERNAL R
+ character(3) res
+ call PHLOAD (R, 1, res)
+ if (res .ne. "one") call abort ()
+ CALL PHLOAD (R, 2, res)
+ if (res .ne. "two") call abort ()
+ END
diff --git a/gcc/testsuite/gfortran.dg/altreturn_6.f90 b/gcc/testsuite/gfortran.dg/altreturn_6.f90 index 19c851e..82bb46d 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_6.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_6.f90 @@ -1,5 +1,5 @@ ! { dg-do compile } -! { dg-options "-std=legacy" } +! { dg-options "-std=gnu" } ! ! PR 32938 subroutine r (*) diff --git a/gcc/testsuite/gfortran.dg/altreturn_7.f90 b/gcc/testsuite/gfortran.dg/altreturn_7.f90 index e667ff4..522d767 100644 --- a/gcc/testsuite/gfortran.dg/altreturn_7.f90 +++ b/gcc/testsuite/gfortran.dg/altreturn_7.f90 @@ -1,5 +1,5 @@ ! { dg-do compile } -! { dg-options "-std=legacy" } +! { dg-options "-std=gnu" } ! ! PR 40848: [4.5 Regression] ICE with alternate returns ! |