llvm-project/clang/test/Modules/Inputs/cxx-decls-merged.h
Richard Smith f81c2cc6ca [modules] For an inheriting constructor, the inherited constructor is stored in
a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.

llvm-svn: 230716
2015-02-27 01:57:00 +00:00

31 lines
696 B
C++

extern int mergeUsedFlag;
typedef struct {
int n;
int m;
} NameForLinkage;
extern NameForLinkage name_for_linkage;
struct HasVirtualFunctions {
virtual void f();
};
struct OverridesVirtualFunctions : HasVirtualFunctions {
void f();
};
extern OverridesVirtualFunctions overrides_virtual_functions;
extern "C" void ExternCFunction();
typedef struct {
struct Inner {
int n;
};
} NameForLinkage2;
auto name_for_linkage2_inner_b = NameForLinkage2::Inner();
typedef decltype(name_for_linkage2_inner_b) NameForLinkage2Inner;
namespace Aliased { extern int b; }
namespace Alias = Aliased;
struct InhCtorA { InhCtorA(int); };
struct InhCtorB : InhCtorA { using InhCtorA::InhCtorA; };