Merge pull request #75589 from swiftlang/egorzhdan/linux-libcxx-interop

[cxx-interop] Allow compiling with libc++ on Linux
This commit is contained in:
Egor Zhdan
2024-08-09 13:42:29 +01:00
committed by GitHub
31 changed files with 348 additions and 28 deletions

View File

@@ -27,6 +27,7 @@
#include "swift/AST/Type.h"
#include "swift/Basic/Assertions.h"
#include "swift/Basic/BasicSourceInfo.h"
#include "swift/Basic/CXXStdlibKind.h"
#include "swift/Basic/Compiler.h"
#include "swift/Basic/Debug.h"
#include "swift/Basic/OptionSet.h"
@@ -705,6 +706,13 @@ public:
Bits.ModuleDecl.HasCxxInteroperability = enabled;
}
CXXStdlibKind getCXXStdlibKind() const {
return static_cast<CXXStdlibKind>(Bits.ModuleDecl.CXXStdlibKind);
}
void setCXXStdlibKind(CXXStdlibKind kind) {
Bits.ModuleDecl.CXXStdlibKind = static_cast<uint8_t>(kind);
}
/// \returns true if this module is a system module; note that the StdLib is
/// considered a system module.
bool isSystemModule() const {