aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2013-04-04 21:21:01 +0200
committerJanus Weil <janus@gcc.gnu.org>2013-04-04 21:21:01 +0200
commitfbdeeaac539d9cf635a5d6bf622d166f77e762d5 (patch)
tree0c9fb7f88c1f82b655859b318a75484cc385cb3f /gcc
parent3465257612a4b23668d6e6c22404024a5885da0b (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/fortran/match.c4
-rw-r--r--gcc/fortran/primary.c4
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_5.f9049
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_6.f902
-rw-r--r--gcc/testsuite/gfortran.dg/altreturn_7.f902
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
!