aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/lang.opt
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-07-07 15:15:39 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-07-07 13:15:39 +0000
commit1c122092dcf48801c638abdf070f18c6fe025ad6 (patch)
tree22f4b1f8abca321823c347e6673350df6ccef09d /gcc/fortran/lang.opt
parent9cc6b3f86acd4911d6cbd6f57cb3148c52e89d38 (diff)
downloadgcc-1c122092dcf48801c638abdf070f18c6fe025ad6.zip
gcc-1c122092dcf48801c638abdf070f18c6fe025ad6.tar.gz
gcc-1c122092dcf48801c638abdf070f18c6fe025ad6.tar.bz2
Optimize fortran loops with +-1 step.
* gfortran.dg/do_1.f90: Remove a corner case that triggers an undefined behavior. * gfortran.dg/do_3.F90: Likewise. * gfortran.dg/do_check_11.f90: New test. * gfortran.dg/do_check_12.f90: New test. * gfortran.dg/do_corner_warn.f90: New test. * lang.opt (Wundefined-do-loop): New option. * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop. (gfc_trans_simple_do): Generate a c-style loop. (gfc_trans_do): Fix GNU coding style. * invoke.texi: Mention the new warning. From-SVN: r238114
Diffstat (limited to 'gcc/fortran/lang.opt')
-rw-r--r--gcc/fortran/lang.opt4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
index bdf5fa5..8f8b299 100644
--- a/gcc/fortran/lang.opt
+++ b/gcc/fortran/lang.opt
@@ -309,6 +309,10 @@ Wtabs
Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
Permit nonconforming uses of the tab character.
+Wundefined-do-loop
+Fortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall)
+Warn about an invalid DO loop.
+
Wunderflow
Fortran Warning Var(warn_underflow) Init(1)
Warn about underflow of numerical constant expressions.