Return early.
authorRui Ueyama <ruiu@google.com>
Fri, 24 Mar 2017 01:13:30 +0000 (01:13 +0000)
committerRui Ueyama <ruiu@google.com>
Fri, 24 Mar 2017 01:13:30 +0000 (01:13 +0000)
llvm-svn: 298675

lld/ELF/Relocations.cpp

index 1c3e7ba..47e80ee 100644 (file)
@@ -593,10 +593,12 @@ static int64_t computeAddend(const elf::ObjectFile<ELFT> &File,
 template <class ELFT>
 static void reportUndefined(SymbolBody &Sym, InputSectionBase &S,
                             typename ELFT::uint Offset) {
+  if (Config->UnresolvedSymbols == UnresolvedPolicy::IgnoreAll)
+    return;
+
   bool CanBeExternal = Sym.symbol()->computeBinding() != STB_LOCAL &&
                        Sym.getVisibility() == STV_DEFAULT;
-  if (Config->UnresolvedSymbols == UnresolvedPolicy::IgnoreAll ||
-      (Config->UnresolvedSymbols == UnresolvedPolicy::Ignore && CanBeExternal))
+  if (Config->UnresolvedSymbols == UnresolvedPolicy::Ignore && CanBeExternal)
     return;
 
   std::string Msg = S.getLocation<ELFT>(Offset) + ": undefined symbol '" +