1// { dg-do assemble  }
2// { dg-options "-O2" }
3// Origin: Jakub Jelinek <jakub@redhat.com>
4
5class baz
6{
7public:
8  baz& operator += (const baz&);
9};
10
11inline baz& baz::operator += (const baz& r)
12{
13  return *this;
14}
15
16inline baz operator + (int x, const baz& y)
17{
18  return y;
19}
20
21static inline baz bar (int alpha);
22static inline baz foo (int alpha)
23{
24  baz tmp = alpha + foo (alpha);
25  tmp += alpha + bar (alpha);
26  return tmp;
27}
28
29static inline baz bar (int alpha)
30{
31  baz tmp = alpha + bar (alpha);
32  tmp += alpha + foo (alpha);
33  return tmp;
34}
35