31 lines · c
1extern int mergeUsedFlag;2 3typedef struct {4 int n;5 int m;6} NameForLinkage;7extern NameForLinkage name_for_linkage;8 9struct HasVirtualFunctions {10 virtual void f();11};12struct OverridesVirtualFunctions : HasVirtualFunctions {13 void f();14};15extern OverridesVirtualFunctions overrides_virtual_functions;16extern "C" void ExternCFunction();17 18typedef struct {19 struct Inner {20 int n;21 };22} NameForLinkage2;23auto name_for_linkage2_inner_b = NameForLinkage2::Inner();24typedef decltype(name_for_linkage2_inner_b) NameForLinkage2Inner;25 26namespace Aliased { extern int b; }27namespace Alias = Aliased;28 29struct InhCtorA { InhCtorA(int); };30struct InhCtorB : InhCtorA { using InhCtorA::InhCtorA; };31