Skip to content

Commit c38b817

Browse files
committed
Fixes failing macOS lib test
1 parent 2d59b82 commit c38b817

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/CppParser/Parser.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4892,12 +4892,18 @@ ParserResultKind Parser::ParseSharedLib(const std::string& File,
48924892
// see https://bugs.llvm.org/show_bug.cgi?id=44433
48934893
for (const auto& Symbol : MachOObjectFile->symbols())
48944894
{
4895-
if (Symbol.getName().takeError() || Symbol.getFlags().takeError())
4895+
auto NameOrErr = Symbol.getName();
4896+
auto FlagsOrErr = Symbol.getFlags();
4897+
4898+
if (!NameOrErr || !FlagsOrErr)
48964899
return ParserResultKind::Error;
48974900

4898-
if ((Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Exported) &&
4899-
!(Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Undefined))
4900-
NativeLib->Symbols.push_back(Symbol.getName().get().str());
4901+
auto Flags = *FlagsOrErr;
4902+
if ((Flags & llvm::object::BasicSymbolRef::SF_Exported) &&
4903+
!(Flags & llvm::object::BasicSymbolRef::SF_Undefined))
4904+
{
4905+
NativeLib->Symbols.push_back(NameOrErr->str());
4906+
}
49014907
}
49024908
return ParserResultKind::Success;
49034909
}

0 commit comments

Comments
 (0)