1675d279aSRichard Smith extern int mergeUsedFlag; 288ebade8SRichard Smith 388ebade8SRichard Smith typedef struct { 488ebade8SRichard Smith int n; 588ebade8SRichard Smith int m; 688ebade8SRichard Smith } NameForLinkage; 788ebade8SRichard Smith extern NameForLinkage name_for_linkage; 8b1108739SRichard Smith 9b1108739SRichard Smith struct HasVirtualFunctions { 10b1108739SRichard Smith virtual void f(); 11b1108739SRichard Smith }; 12b1108739SRichard Smith struct OverridesVirtualFunctions : HasVirtualFunctions { 13b1108739SRichard Smith void f(); 14b1108739SRichard Smith }; 15b1108739SRichard Smith extern OverridesVirtualFunctions overrides_virtual_functions; 16b602c7f8SRichard Smith extern "C" void ExternCFunction(); 1770d58509SRichard Smith 1870d58509SRichard Smith typedef struct { 1970d58509SRichard Smith struct Inner { 2070d58509SRichard Smith int n; 2170d58509SRichard Smith }; 2270d58509SRichard Smith } NameForLinkage2; 2370d58509SRichard Smith auto name_for_linkage2_inner_b = NameForLinkage2::Inner(); 2470d58509SRichard Smith typedef decltype(name_for_linkage2_inner_b) NameForLinkage2Inner; 25f463436dSRichard Smith 26f463436dSRichard Smith namespace Aliased { extern int b; } 27f463436dSRichard Smith namespace Alias = Aliased; 28*f81c2cc6SRichard Smith 29*f81c2cc6SRichard Smith struct InhCtorA { InhCtorA(int); }; 30*f81c2cc6SRichard Smith struct InhCtorB : InhCtorA { using InhCtorA::InhCtorA; }; 31