annotate gcc/testsuite/g++.dg/tree-prof/pr57451.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-require-effective-target freorder }
kono
parents:
diff changeset
2 // { dg-options "-O2 -freorder-blocks-and-partition -g" }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern "C" void abort (void);
kono
parents:
diff changeset
5 struct MyException {};
kono
parents:
diff changeset
6 struct Data {
kono
parents:
diff changeset
7 int nr;
kono
parents:
diff changeset
8 Data() : nr(66) {}
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10 Data __attribute__((noinline,noclone)) getData(int i)
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 if (i) throw MyException();
kono
parents:
diff changeset
13 Data data;
kono
parents:
diff changeset
14 data.nr = i;
kono
parents:
diff changeset
15 return data;
kono
parents:
diff changeset
16 }
kono
parents:
diff changeset
17 int main(int, char **)
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 Data data;
kono
parents:
diff changeset
20 try {
kono
parents:
diff changeset
21 data = getData(1);
kono
parents:
diff changeset
22 } catch (MyException& e) {
kono
parents:
diff changeset
23 if (data.nr != 66)
kono
parents:
diff changeset
24 abort ();
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26 }