aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2005-04-10 18:01:54 +0200
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-04-10 16:01:54 +0000
commit51c3f0f6d7ef61a98ca319ec24d04ffb7b5bca43 (patch)
treec5d58d80e3e311abc81deef7634e680d2df409b2 /gcc
parentb45ea4d28c3c6747867e7326bb7e9727adb786a5 (diff)
downloadgcc-51c3f0f6d7ef61a98ca319ec24d04ffb7b5bca43.zip
gcc-51c3f0f6d7ef61a98ca319ec24d04ffb7b5bca43.tar.gz
gcc-51c3f0f6d7ef61a98ca319ec24d04ffb7b5bca43.tar.bz2
match.c (match_arithmetic_if): Arithmetic IF is obsolete in Fortran 95.
* match.c (match_arithmetic_if): Arithmetic IF is obsolete in Fortran 95. * gfortran.dg/pr17229.f: Take care of the new obsolescence warning for arithmetic IF statements. From-SVN: r97948
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/match.c9
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr17229.f8
4 files changed, 23 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 74bfa1a..af6bc8a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
+ Fortran 95.
+
2005-04-09 Steven G. Kargl <kargls@comcast.net>
* simplify.c (gfc_simplify_anint): Use mpfr_round()
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 0a173b8..d81686b 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -922,6 +922,10 @@ match_arithmetic_if (void)
return MATCH_ERROR;
}
+ if (gfc_notify_std (GFC_STD_F95_DEL,
+ "Obsolete: arithmetic IF statement at %C") == FAILURE)
+ return MATCH_ERROR;
+
new_st.op = EXEC_ARITHMETIC_IF;
new_st.expr = expr;
new_st.label = l1;
@@ -993,6 +997,11 @@ gfc_match_if (gfc_statement * if_type)
gfc_free_expr (expr);
return MATCH_ERROR;
}
+
+ if (gfc_notify_std (GFC_STD_F95_DEL,
+ "Obsolete: arithmetic IF statement at %C")
+ == FAILURE)
+ return MATCH_ERROR;
new_st.op = EXEC_ARITHMETIC_IF;
new_st.expr = expr;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a55aec8..9d3c99f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * gfortran.dg/pr17229.f: Take care of the new obsolescence
+ warning for arithmetic IF statements.
+
2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
* eor_handling_1.f90: New test case.
diff --git a/gcc/testsuite/gfortran.dg/pr17229.f b/gcc/testsuite/gfortran.dg/pr17229.f
index b1a4471..4e96d29 100644
--- a/gcc/testsuite/gfortran.dg/pr17229.f
+++ b/gcc/testsuite/gfortran.dg/pr17229.f
@@ -5,18 +5,18 @@
l = .false.
i = -1
- if (l) if (i) 999,999,999
+ if (l) if (i) 999,999,999 ! { dg-warning "Obsolete: arithmetic IF statement" }
l = .true.
- if (l) if (i) 10,999,999
+ if (l) if (i) 10,999,999 ! { dg-warning "Obsolete: arithmetic IF statement" }
go to 999
10 i = 0
- if (l) if (i) 999,20,999
+ if (l) if (i) 999,20,999 ! { dg-warning "Obsolete: arithmetic IF statement" }
go to 999
20 i = 1
- if (l) if (i) 999,999,30
+ if (l) if (i) 999,999,30 ! { dg-warning "Obsolete: arithmetic IF statement" }
go to 999
999 call abort