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