re PR fortran/57160 (short-circuit IF only with -ffrontend-optimize)
authorJanus Weil <janus@gcc.gnu.org>
Fri, 10 Aug 2018 14:08:53 +0000 (16:08 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Fri, 10 Aug 2018 14:08:53 +0000 (16:08 +0200)
commitbf9197df810b0b0ac032c7e480d5a8b24c22f973
tree11d80fa0ccfd814b4d9c2e52533951c7081beb60
parent8b9a5b5e0e1c69cd97f56c732cdb8a96c92baabe
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
gcc/fortran/ChangeLog
gcc/fortran/invoke.texi
gcc/fortran/options.c
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/actual_pointer_function_1.f90
gcc/testsuite/gfortran.dg/inline_matmul_23.f90
gcc/testsuite/gfortran.dg/short_circuiting_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/short_circuiting_3.f90 [new file with mode: 0644]