[Bitcode] Handle invalid data layout gracefully

This commit is contained in:
Nikita Popov
2022-02-07 12:26:12 +01:00
parent a8d48fe0fe
commit fdf8cb978f
2 changed files with 6 additions and 3 deletions

View File

@@ -3800,7 +3800,10 @@ Error BitcodeReader::parseModule(uint64_t ResumeBit,
std::string S;
if (convertToString(Record, 0, S))
return error("Invalid record");
TheModule->setDataLayout(S);
Expected<DataLayout> MaybeDL = DataLayout::parse(S);
if (!MaybeDL)
return MaybeDL.takeError();
TheModule->setDataLayout(MaybeDL.get());
break;
}
case bitc::MODULE_CODE_ASM: { // ASM: [strchr x N]