summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/loop2.C
blob: aee612ab510bdc36168a860903ceb8c6b040e63b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// PR middle-end/22484
// { dg-do compile }
// { dg-options "-O3" }

struct A { ~A(); };
typedef bool B;

bool foo();

bool bar(A&)
{
  B b = true;

  for (int i = 0; i < 2 && b; ++i)
    b = foo();

  return b;
}

void baz()
{
  A a;
  if (bar(a)) foo();
}