Simplify. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@344074 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/ELF/SymbolTable.cpp b/ELF/SymbolTable.cpp
index 746b352..5e40f2f 100644
--- a/ELF/SymbolTable.cpp
+++ b/ELF/SymbolTable.cpp
@@ -234,11 +234,10 @@
   if (!File || File->kind() == InputFile::ObjKind)
     S->IsUsedInRegularObj = true;
 
-  if (!WasInserted && S->Type != Symbol::UnknownType &&
-      ((Type == STT_TLS) != S->isTls())) {
+  bool HasTlsAttr = !WasInserted && (!S->isLazy() || S->isTls());
+  if (HasTlsAttr && (Type == STT_TLS) != S->isTls())
     error("TLS attribute mismatch: " + toString(*S) + "\n>>> defined in " +
           toString(S->File) + "\n>>> defined in " + toString(File));
-  }
 
   return {S, WasInserted};
 }
@@ -566,7 +565,7 @@
   bool WasInserted;
   std::tie(S, WasInserted) = Symtab->insert(Name);
   if (WasInserted) {
-    replaceSymbol<LazyArchive>(S, File, Symbol::UnknownType, Sym);
+    replaceSymbol<LazyArchive>(S, File, STT_NOTYPE, Sym);
     return;
   }
   if (!S->isUndefined())
@@ -590,7 +589,7 @@
   bool WasInserted;
   std::tie(S, WasInserted) = Symtab->insert(Name);
   if (WasInserted) {
-    replaceSymbol<LazyObject>(S, File, Symbol::UnknownType, Name);
+    replaceSymbol<LazyObject>(S, File, STT_NOTYPE, Name);
     return;
   }
   if (!S->isUndefined())
diff --git a/ELF/Symbols.h b/ELF/Symbols.h
index ca03781..7bae773 100644
--- a/ELF/Symbols.h
+++ b/ELF/Symbols.h
@@ -195,13 +195,6 @@
   // True if this symbol is defined by a linker script.
   unsigned ScriptDefined : 1;
 
-  // The Type field may also have this value. It means that we have not yet seen
-  // a non-Lazy symbol with this name, so we don't know what its type is. The
-  // Type field is normally set to this value for Lazy symbols unless we saw a
-  // weak undefined symbol first, in which case we need to remember the original
-  // symbol's type in order to check for TLS mismatches.
-  enum { UnknownType = 255 };
-
   bool isSection() const { return Type == llvm::ELF::STT_SECTION; }
   bool isTls() const { return Type == llvm::ELF::STT_TLS; }
   bool isFunc() const { return Type == llvm::ELF::STT_FUNC; }