[interop][SwiftToCxx] guard inline emitted Stdlib module

This commit is contained in:
Alex Lorenz
2022-10-03 11:30:37 -07:00
parent 6c518bd311
commit f8b54e7ea7
4 changed files with 17 additions and 3 deletions

View File

@@ -773,7 +773,10 @@ EmittedClangHeaderDependencyInfo swift::printModuleContentsAsCxx(
// FIXME: refactor.
if (!prologueOS.str().empty()) {
os << "#endif\n";
// FIXME: This is a workaround for prologue being emitted outside of
// __cplusplus.
if (!M.isStdlibModule())
os << "#endif\n";
os << "#ifdef __cplusplus\n";
os << "namespace ";
M.ValueDecl::getName().print(os);
@@ -784,7 +787,8 @@ EmittedClangHeaderDependencyInfo swift::printModuleContentsAsCxx(
os << prologueOS.str();
os << "\n#ifdef __cplusplus\n";
if (!M.isStdlibModule())
os << "\n#ifdef __cplusplus\n";
os << "}\n";
os << "}\n";
os << "}\n";