xref: /aosp_15_r20/external/clang/test/Modules/Inputs/cxx-decls-merged.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li extern int mergeUsedFlag;
2*67e74705SXin Li 
3*67e74705SXin Li typedef struct {
4*67e74705SXin Li   int n;
5*67e74705SXin Li   int m;
6*67e74705SXin Li } NameForLinkage;
7*67e74705SXin Li extern NameForLinkage name_for_linkage;
8*67e74705SXin Li 
9*67e74705SXin Li struct HasVirtualFunctions {
10*67e74705SXin Li   virtual void f();
11*67e74705SXin Li };
12*67e74705SXin Li struct OverridesVirtualFunctions : HasVirtualFunctions {
13*67e74705SXin Li   void f();
14*67e74705SXin Li };
15*67e74705SXin Li extern OverridesVirtualFunctions overrides_virtual_functions;
16*67e74705SXin Li extern "C" void ExternCFunction();
17*67e74705SXin Li 
18*67e74705SXin Li typedef struct {
19*67e74705SXin Li   struct Inner {
20*67e74705SXin Li     int n;
21*67e74705SXin Li   };
22*67e74705SXin Li } NameForLinkage2;
23*67e74705SXin Li auto name_for_linkage2_inner_b = NameForLinkage2::Inner();
24*67e74705SXin Li typedef decltype(name_for_linkage2_inner_b) NameForLinkage2Inner;
25*67e74705SXin Li 
26*67e74705SXin Li namespace Aliased { extern int b; }
27*67e74705SXin Li namespace Alias = Aliased;
28*67e74705SXin Li 
29*67e74705SXin Li struct InhCtorA { InhCtorA(int); };
30*67e74705SXin Li struct InhCtorB : InhCtorA { using InhCtorA::InhCtorA; };
31