diff --git a/lib/IRGen/GenType.cpp b/lib/IRGen/GenType.cpp index 7c8423d1f357b..b518a5e7cd237 100644 --- a/lib/IRGen/GenType.cpp +++ b/lib/IRGen/GenType.cpp @@ -1380,8 +1380,9 @@ TypeConverter::TypeConverter(IRGenModule &IGM) } bool error = readLegacyTypeInfo(*fs, path); - if (error) - llvm::report_fatal_error("Cannot read '" + path + "'"); +// avoids error: ":1:1: Cannot read '/usr/lib/swift/layouts-x86_64.yaml'" +// if (error) +// llvm::report_fatal_error("Cannot read '" + path + "'"); } TypeConverter::~TypeConverter() { diff --git a/lib/Serialization/Deserialization.cpp b/lib/Serialization/Deserialization.cpp index 028919584dfd6..05e288bd9f830 100644 --- a/lib/Serialization/Deserialization.cpp +++ b/lib/Serialization/Deserialization.cpp @@ -5008,7 +5008,14 @@ class TypeDeserializer { MF.fatal(); const clang::Type *clangFunctionType = nullptr; - if (clangTypeID) { + // avoids: "error: Segmentation fault: 11" (SR-12831) + // during "merge module" containing the following code: + /* + static var onEntry: @convention(c) (_ swizzle: Swizzle, _ returnAddress: UnsafeRawPointer, + _ stackPointer: UnsafeMutablePointer) -> IMP? = { + (swizzle, returnAddress, stackPointer) -> IMP? in + */ + if (clangTypeID && false) { auto loadedClangType = MF.getClangType(clangTypeID); if (!loadedClangType) return loadedClangType.takeError();