Browse Source

Fixes failing macOS lib test

pull/1949/head
Christopher Franzwa 9 months 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, @@ -4892,12 +4892,18 @@ ParserResultKind Parser::ParseSharedLib(const std::string& File,
// see https://bugs.llvm.org/show_bug.cgi?id=44433
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;
if ((Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Exported) &&
!(Symbol.getFlags().get() & llvm::object::BasicSymbolRef::Flags::SF_Undefined))
NativeLib->Symbols.push_back(Symbol.getName().get().str());
auto Flags = *FlagsOrErr;
if ((Flags & llvm::object::BasicSymbolRef::SF_Exported) &&
!(Flags & llvm::object::BasicSymbolRef::SF_Undefined))
{
NativeLib->Symbols.push_back(NameOrErr->str());
}
}
return ParserResultKind::Success;
}

Loading…
Cancel
Save