aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2018-08-10 16:08:53 +0200
committerJanus Weil <janus@gcc.gnu.org>2018-08-10 16:08:53 +0200
commitbf9197df810b0b0ac032c7e480d5a8b24c22f973 (patch)
tree11d80fa0ccfd814b4d9c2e52533951c7081beb60 /gcc/fortran/options.c
parent8b9a5b5e0e1c69cd97f56c732cdb8a96c92baabe (diff)
downloadgcc-bf9197df810b0b0ac032c7e480d5a8b24c22f973.zip
gcc-bf9197df810b0b0ac032c7e480d5a8b24c22f973.tar.gz
gcc-bf9197df810b0b0ac032c7e480d5a8b24c22f973.tar.bz2
re PR fortran/57160 (short-circuit IF only with -ffrontend-optimize)
2018-08-10 Janus Weil <janus@gcc.gnu.org> PR fortran/57160 * invoke.texi (frontend-optimize): Mention short-circuiting. * options.c (gfc_post_options): Disable -ffrontend-optimize with -Og. * resolve.c (resolve_operator): Warn about short-circuiting only with -ffrontend-optimize. * trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only with -ffrontend-optimize. Without that flag, make sure that both operands are evaluated. 2018-08-10 Janus Weil <janus@gcc.gnu.org> PR fortran/57160 * gfortran.dg/actual_pointer_function_1.f90: Fix invalid test case. * gfortran.dg/inline_matmul_23.f90: Add option "-ffrontend-optimize". * gfortran.dg/short_circuiting_2.f90: New test case. * gfortran.dg/short_circuiting_3.f90: New test case. From-SVN: r263471
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index af93751..e8db54d4 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -417,7 +417,7 @@ gfc_post_options (const char **pfilename)
specified it directly. */
if (flag_frontend_optimize == -1)
- flag_frontend_optimize = optimize;
+ flag_frontend_optimize = optimize && !optimize_debug;
/* Same for front end loop interchange. */