1*b9be5ce8SMark de Wever // RUN: %clang %s -fsyntax-only -fblocks -fbracket-depth=512 2*b9be5ce8SMark de Wever // RUN: not %clang %s -fsyntax-only -fblocks -fbracket-depth=512 -DFAIL 2>&1 | FileCheck %s 3*b9be5ce8SMark de Wever 4*b9be5ce8SMark de Wever template <class T> int foo(T &&t); 5*b9be5ce8SMark de Wever 6*b9be5ce8SMark de Wever void bar(int x = foo( 7*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 8*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 9*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 10*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 11*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 12*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 13*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 14*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 15*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 16*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 17*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 18*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 19*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 20*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 21*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 22*b9be5ce8SMark de Wever 23*b9be5ce8SMark de Wever ^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo( 24*b9be5ce8SMark de Wever 25*b9be5ce8SMark de Wever #ifdef FAIL 26*b9be5ce8SMark de Wever ^(int x = foo( 27*b9be5ce8SMark de Wever #endif 28*b9be5ce8SMark de Wever 29*b9be5ce8SMark de Wever ^(int x = foo(1)){} 30*b9be5ce8SMark de Wever 31*b9be5ce8SMark de Wever #ifdef FAIL 32*b9be5ce8SMark de Wever )){} 33*b9be5ce8SMark de Wever #endif 34*b9be5ce8SMark de Wever 35*b9be5ce8SMark de Wever )){})){})){})){})){})){} 36*b9be5ce8SMark de Wever 37*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 38*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 39*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 40*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 41*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 42*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 43*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 44*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 45*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 46*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 47*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 48*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 49*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 50*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 51*b9be5ce8SMark de Wever )){})){})){})){})){})){})){})){} 52*b9be5ce8SMark de Wever )); 53*b9be5ce8SMark de Wever 54*b9be5ce8SMark de Wever // CHECK: fatal error: function scope depth exceeded maximum of 127 55