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