Browse Source

Fixes failing macOS lib test

pull/1949/head
Christopher Franzwa 1 year ago committed by tritao
parent
commit
4ba0b32dff
  1. 14
      src/CppParser/Parser.cpp

14
src/CppParser/Parser.cpp

@ -4892,12 +4892,18 @@ ParserResultKind Parser::ParseSharedLib(const std::string& File,
// see https://bugs.llvm.org/show_bug.cgi?id=44433 // see https://bugs.llvm.org/show_bug.cgi?id=44433
for (const auto& Symbol : MachOObjectFile->symbols()) for (const auto& Symbol : MachOObjectFile->symbols())
{ {
if (Symbol.getName().takeError() || Symbol.getFlags().takeError()) auto NameOrErr = Symbol.getName();
auto FlagsOrErr = Symbol.getFlags();
if (!NameOrErr || !FlagsOrErr)
return ParserResultKind::Error; return ParserResultKind::Error;
if ((Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Exported) && auto Flags = *FlagsOrErr;
!(Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Undefined)) if ((Flags & llvm::object::BasicSymbolRef::SF_Exported) &&
NativeLib->Symbols.push_back(Symbol.getName().get().str()); !(Flags & llvm::object::BasicSymbolRef::SF_Undefined))
{
NativeLib->Symbols.push_back(NameOrErr->str());
}
} }
return ParserResultKind::Success; return ParserResultKind::Success;
} }

Loading…
Cancel
Save