From bf9197df810b0b0ac032c7e480d5a8b24c22f973 Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Fri, 10 Aug 2018 16:08:53 +0200 Subject: re PR fortran/57160 (short-circuit IF only with -ffrontend-optimize) 2018-08-10 Janus Weil 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 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 --- gcc/fortran/options.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/fortran/options.c') 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. */ -- cgit v1.1