xref: /llvm-project/clang/test/Modules/Inputs/invalidate-identifiers/a.h (revision 9ab4ccecb3981c466951f4ff3f2a788eb1b1a6db)
1*9ab4ccecSRichard Smith // Ensure that loading 'i' introduces enough identifiers to cause the
2*9ab4ccecSRichard Smith // identifier table to be reallocated.
3*9ab4ccecSRichard Smith #define TYPEDEFS(x) typedef x##0 x; typedef x##1 x;
4*9ab4ccecSRichard Smith #define DEPTH_0(x) DEPTH_1(x##0) DEPTH_1(x##1) TYPEDEFS(x)
5*9ab4ccecSRichard Smith #define DEPTH_1(x) DEPTH_2(x##0) DEPTH_2(x##1) TYPEDEFS(x)
6*9ab4ccecSRichard Smith #define DEPTH_2(x) DEPTH_3(x##0) DEPTH_3(x##1) TYPEDEFS(x)
7*9ab4ccecSRichard Smith #define DEPTH_3(x) DEPTH_4(x##0) DEPTH_4(x##1) TYPEDEFS(x)
8*9ab4ccecSRichard Smith #define DEPTH_4(x) DEPTH_5(x##0) DEPTH_5(x##1) TYPEDEFS(x)
9*9ab4ccecSRichard Smith #define DEPTH_5(x) DEPTH_6(x##0) DEPTH_6(x##1) TYPEDEFS(x)
10*9ab4ccecSRichard Smith #define DEPTH_6(x) DEPTH_7(x##0) DEPTH_7(x##1) TYPEDEFS(x)
11*9ab4ccecSRichard Smith #define DEPTH_7(x) DEPTH_8(x##0) DEPTH_8(x##1) TYPEDEFS(x)
12*9ab4ccecSRichard Smith #define DEPTH_8(x) DEPTH_9(x##0) DEPTH_9(x##1) TYPEDEFS(x)
13*9ab4ccecSRichard Smith #define DEPTH_9(x) DEPTH_A(x##0) DEPTH_A(x##1) TYPEDEFS(x)
14*9ab4ccecSRichard Smith #define DEPTH_A(x) DEPTH_B(x##0) DEPTH_B(x##1) TYPEDEFS(x)
15*9ab4ccecSRichard Smith #define DEPTH_B(x) typedef int x;
16*9ab4ccecSRichard Smith DEPTH_0(i)
17*9ab4ccecSRichard Smith extern i v;
18