1 // PR c++/5050 2 // Origin: georg.wild@gmx.de 3 // Reduced by: tbagot@bluearc.com and Nathanael C. Nerode <neroden@twcny.rr.com> 4 // Test for that excessive template recursion does not occur 5 // because of optimization. 6 // { dg-options "-ftemplate-depth-1 -O" } 7 8 struct ostream { fooostream9 template<class T> ostream& foo( const T & ) 10 { return *this; } 11 }; 12 foo()13 void foo() { 14 ostream os; 15 (os.foo(1)).foo(2); 16 } 17