55 lines · cpp
1// RUN: %clang %s -fsyntax-only -fblocks -fbracket-depth=5122// RUN: not %clang %s -fsyntax-only -fblocks -fbracket-depth=512 -DFAIL 2>&1 | FileCheck %s3 4template <class T> int foo(T &&t);5 6void bar(int x = foo(7^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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^(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 23^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(^(int x = foo(24 25#ifdef FAIL26^(int x = foo(27#endif28 29^(int x = foo(1)){}30 31#ifdef FAIL32)){}33#endif34 35)){})){})){})){})){})){}36 37)){})){})){})){})){})){})){})){}38)){})){})){})){})){})){})){})){}39)){})){})){})){})){})){})){})){}40)){})){})){})){})){})){})){})){}41)){})){})){})){})){})){})){})){}42)){})){})){})){})){})){})){})){}43)){})){})){})){})){})){})){})){}44)){})){})){})){})){})){})){})){}45)){})){})){})){})){})){})){})){}46)){})){})){})){})){})){})){})){}47)){})){})){})){})){})){})){})){}48)){})){})){})){})){})){})){})){}49)){})){})){})){})){})){})){})){}50)){})){})){})){})){})){})){})){}51)){})){})){})){})){})){})){})){}52));53 54// CHECK: fatal error: function scope depth exceeded maximum of 12755