* fi.po: Update.
[official-gcc.git] / gcc / testsuite / g++.dg / lto / 20090221_0.C
blob5bf031906c7e1c221c244611905d10188a7d0646
1 // { dg-lto-do assemble }
2 extern void some_function (const char *);
3 extern bool some_other_function ();
5 struct Foo
7  long long a;
8  int b;
9 };
11 bool Foo_eq(Foo x, Foo y)
13  return x.a == y.a && x.b == y.b;
16 struct Bar
18  Foo a;
19  int b;
22 struct Baz
24  Bar a;
25  Baz(Bar &a):a(a) { }
28 struct Zonk
30  Baz baz;
32  Bar func_1(const Bar & bar) {
33    if (Foo_eq(bar.a, baz.a.a) && bar.b == baz.a.b || some_other_function ())
34      return bar;
35  }
37  void func_2(const Baz & baz) {
38    func_1(baz.a);
39    some_function(__PRETTY_FUNCTION__);
40  }
43 void func() {
44  Bar bar;
45  Zonk *rep;
46  rep->func_1(bar);
47  rep->func_2(Baz(bar));
50 void foo ()
52   func();