diff options
Diffstat (limited to 'lib/Bitcode')
-rw-r--r-- | lib/Bitcode/Reader/BitcodeReader.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index d0ce237ee6..a1ae6baff9 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -1966,8 +1966,10 @@ error_code BitcodeReader::ParseModule(bool Resume) { if (!Ty->isPointerTy()) return Error(InvalidTypeForValue); - GlobalAlias *NewGA = new GlobalAlias(Ty, GetDecodedLinkage(Record[2]), - "", nullptr, TheModule); + auto *PTy = cast<PointerType>(Ty); + GlobalAlias *NewGA = + new GlobalAlias(PTy->getElementType(), GetDecodedLinkage(Record[2]), + "", nullptr, TheModule, PTy->getAddressSpace()); // Old bitcode files didn't have visibility field. // Local linkage must have default visibility. if (Record.size() > 3 && !NewGA->hasLocalLinkage()) |