Add some missing test coverage for merging 'extern "C"' functions with modules.
llvm-svn: 216796
This commit is contained in:
parent
956366c6f1
commit
b602c7f843
|
@ -35,3 +35,4 @@ struct HasVirtualFunctions {
|
|||
struct OverridesVirtualFunctions : HasVirtualFunctions {
|
||||
void f();
|
||||
};
|
||||
extern "C" void ExternCFunction();
|
||||
|
|
|
@ -13,3 +13,4 @@ struct OverridesVirtualFunctions : HasVirtualFunctions {
|
|||
void f();
|
||||
};
|
||||
extern OverridesVirtualFunctions overrides_virtual_functions;
|
||||
extern "C" void ExternCFunction();
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
extern "C" void ExternCFunction();
|
||||
|
||||
#include "cxx-decls-imported.h"
|
|
@ -246,6 +246,10 @@ module cxx_decls {
|
|||
}
|
||||
}
|
||||
|
||||
module cxx_decls_premerged {
|
||||
header "cxx-decls-premerged.h"
|
||||
}
|
||||
|
||||
module cxx_decls_merged {
|
||||
header "cxx-decls-merged.h"
|
||||
}
|
||||
|
|
|
@ -41,5 +41,11 @@ int name_for_linkage_test = use_name_for_linkage(name_for_linkage);
|
|||
int overrides_virtual_functions_test =
|
||||
use_overrides_virtual_functions(overrides_virtual_functions);
|
||||
|
||||
void use_extern_c_function() { ExternCFunction(); }
|
||||
|
||||
@import cxx_decls_premerged;
|
||||
|
||||
void use_extern_c_function_2() { ExternCFunction(); }
|
||||
|
||||
// CHECK: VarDecl [[mergeUsedFlag:0x[0-9a-f]*]] {{.*}} in cxx_decls.imported used mergeUsedFlag
|
||||
// CHECK: VarDecl {{0x[0-9a-f]*}} prev [[mergeUsedFlag]] {{.*}} in cxx_decls_merged used mergeUsedFlag
|
||||
|
|
Loading…
Reference in New Issue