Commit 51c3f0f6 by Francois-Xavier Coudert Committed by François-Xavier Coudert

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
parent b45ea4d2
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> 2005-04-09 Steven G. Kargl <kargls@comcast.net>
* simplify.c (gfc_simplify_anint): Use mpfr_round() * simplify.c (gfc_simplify_anint): Use mpfr_round()
......
...@@ -922,6 +922,10 @@ match_arithmetic_if (void) ...@@ -922,6 +922,10 @@ match_arithmetic_if (void)
return MATCH_ERROR; 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.op = EXEC_ARITHMETIC_IF;
new_st.expr = expr; new_st.expr = expr;
new_st.label = l1; new_st.label = l1;
...@@ -993,6 +997,11 @@ gfc_match_if (gfc_statement * if_type) ...@@ -993,6 +997,11 @@ gfc_match_if (gfc_statement * if_type)
gfc_free_expr (expr); gfc_free_expr (expr);
return MATCH_ERROR; 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.op = EXEC_ARITHMETIC_IF;
new_st.expr = expr; new_st.expr = expr;
......
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> 2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
* eor_handling_1.f90: New test case. * eor_handling_1.f90: New test case.
......
...@@ -5,18 +5,18 @@ ...@@ -5,18 +5,18 @@
l = .false. l = .false.
i = -1 i = -1
if (l) if (i) 999,999,999 if (l) if (i) 999,999,999 ! { dg-warning "Obsolete: arithmetic IF statement" }
l = .true. 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 go to 999
10 i = 0 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 go to 999
20 i = 1 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 go to 999
999 call abort 999 call abort
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment