From c9cb4fc761cd78d3a04feb211d363e91933a8e08 Mon Sep 17 00:00:00 2001 From: Jonas Hahnfeld Date: Thu, 1 Dec 2022 14:14:43 +0100 Subject: [DebugInfo] Store optional DIFile::Source as pointer getCanonicalMDString() also returns a nullptr for empty strings, which tripped over the getSource() method. Solve the ambiguity of no source versus an optional containing a nullptr by simply storing a pointer. Differential Revision: https://reviews.llvm.org/D138658 --- llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'llvm/lib/Bitcode/Reader/MetadataLoader.cpp') diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp index 0f3ad25..96f436a 100644 --- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp +++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp @@ -1621,11 +1621,10 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata( Checksum.emplace(static_cast(Record[3]), getMDString(Record[4])); MetadataList.assignValue( - GET_OR_DISTINCT(DIFile, (Context, getMDString(Record[1]), - getMDString(Record[2]), Checksum, - Record.size() > 5 ? std::optional( - getMDString(Record[5])) - : std::nullopt)), + GET_OR_DISTINCT(DIFile, + (Context, getMDString(Record[1]), + getMDString(Record[2]), Checksum, + Record.size() > 5 ? getMDString(Record[5]) : nullptr)), NextMetadataNo); NextMetadataNo++; break; -- cgit v1.1