1f4a2713aSLionel Sambuc // RUN: c-index-test -index-file %s | FileCheck %s
2f4a2713aSLionel Sambuc
3f4a2713aSLionel Sambuc // rdar://11289247
4f4a2713aSLionel Sambuc // Check that we don't get stack overflow trying to index a huge number of
5f4a2713aSLionel Sambuc // call operators.
6f4a2713aSLionel Sambuc
7*0a6a1f1dSLionel Sambuc // UBSan increses stack usage.
8*0a6a1f1dSLionel Sambuc // REQUIRES: not_ubsan
9*0a6a1f1dSLionel Sambuc
10f4a2713aSLionel Sambuc struct S {
11f4a2713aSLionel Sambuc S &operator()();
12f4a2713aSLionel Sambuc };
13f4a2713aSLionel Sambuc
14f4a2713aSLionel Sambuc // CHECK: [indexDeclaration]: kind: function | name: foo
foo()15f4a2713aSLionel Sambuc void foo() {
16f4a2713aSLionel Sambuc S s;
17f4a2713aSLionel Sambuc s()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
18f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
19f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
20f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
21f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
22f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
23f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
24f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
25f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
26f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
27f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
28f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
29f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
30f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
31f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
32f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
33f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
34f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
35f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
36f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
37f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
38f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
39f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
40f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
41f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
42f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
43f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
44f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
45f4a2713aSLionel Sambuc ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
46f4a2713aSLionel Sambuc ;
47f4a2713aSLionel Sambuc }
48f4a2713aSLionel Sambuc
49f4a2713aSLionel Sambuc // CHECK: [indexDeclaration]: kind: function | name: bar
50f4a2713aSLionel Sambuc void bar();
51