repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Merge reload-branch up to revision 101000
[official-gcc.git]
/
gcc
/
testsuite
/
g++.old-deja
/
g++.other
/
loop1.C
blob
168734c545b0bf1f288fd465cb44c2e9f40180d9
1
// { dg-do run }
2
// { dg-options "-O2" }
3
// Test for bad loop optimization of goto fixups.
4
5
typedef bool (*ftype) ();
6
7
int c, d;
8
struct A {
9
A() { ++c; }
10
A(const A&) { ++c; }
11
~A() { ++d; }
12
};
13
14
void f (ftype func)
15
{
16
A a;
17
do {
18
if ((*func)()) return;
19
} while (true);
20
}
21
22
bool test ()
23
{
24
return true;
25
}
26
27
main ()
28
{
29
f (test);
30
return (c != d);
31
}