From 4ba0b32dff701a9790e268f96e482d5750055880 Mon Sep 17 00:00:00 2001 From: Christopher Franzwa Date: Wed, 16 Jul 2025 20:59:55 -0400 Subject: [PATCH] Fixes failing macOS lib test --- src/CppParser/Parser.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 326fb754..ca6b5184 100644 --- a/src/CppParser/Parser.cpp +++ b/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 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; }