xref: /llvm-project/clang/test/Parser/nested_blocks_overflow.cpp (revision b9be5ce8f3e0e697a61ad16e2c669de6ea8f8739)
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