// PR c++/5050 // Origin: georg.wild@gmx.de // Reduced by: tbagot@bluearc.com and Nathanael C. Nerode // Test for that excessive template recursion does not occur // because of optimization. // { dg-options "-ftemplate-depth-1 -O" } struct ostream { template ostream& foo( const T & ) { return *this; } }; void foo() { ostream os; (os.foo(1)).foo(2); }