1! { dg-do run }
2! { dg-options "-O0" }
3!
4! PR 57160: short-circuit IF only with -ffrontend-optimize
5!
6! this checks that short-circuiting is not done with -O0
7!
8! Contributed by Janus Weil <janus@gcc.gnu.org>
9
10program short_circuit
11
12   integer, save :: i = 0
13   logical :: flag
14
15   flag = .false.
16   flag = check() .and. flag
17   flag = flag .and. check()
18
19   if (i /= 2) stop 1
20
21contains
22
23   logical function check()
24      i = i + 1
25      check = .true.
26   end function
27
28end
29