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