[lld] r338911 - lld-link: Simplify LinkerDriver::findDefaultEntry()

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 3 11:32:44 PDT 2018


Author: nico
Date: Fri Aug  3 11:32:44 2018
New Revision: 338911

URL: http://llvm.org/viewvc/llvm-project?rev=338911&view=rev
Log:
lld-link: Simplify LinkerDriver::findDefaultEntry()

No intended behavior change. Not repeating the CRTStartup names makes fixing
PR36523 simpler.

https://reviews.llvm.org/D50253

Modified:
    lld/trunk/COFF/Driver.cpp

Modified: lld/trunk/COFF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=338911&r1=338910&r2=338911&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.cpp (original)
+++ lld/trunk/COFF/Driver.cpp Fri Aug  3 11:32:44 2018
@@ -426,18 +426,6 @@ Symbol *LinkerDriver::addUndefined(Strin
 // each of which corresponds to a user-defined "main" function. This function
 // infers an entry point from a user-defined "main" function.
 StringRef LinkerDriver::findDefaultEntry() {
-  // As a special case, if /nodefaultlib is given, we directly look for an
-  // entry point. This is because, if no default library is linked, users
-  // need to define an entry point instead of a "main".
-  if (Config->NoDefaultLibAll) {
-    for (StringRef S : {"mainCRTStartup", "wmainCRTStartup",
-                        "WinMainCRTStartup", "wWinMainCRTStartup"}) {
-      if (findUnderscoreMangle(S))
-        return mangle(S);
-    }
-    return "";
-  }
-
   // User-defined main functions and their corresponding entry points.
   static const char *Entries[][2] = {
       {"main", "mainCRTStartup"},
@@ -446,7 +434,10 @@ StringRef LinkerDriver::findDefaultEntry
       {"wWinMain", "wWinMainCRTStartup"},
   };
   for (auto E : Entries) {
-    if (findUnderscoreMangle(E[0]))
+    // As a special case, if /nodefaultlib is given, we directly look for an
+    // entry point. This is because, if no default library is linked, users
+    // need to define an entry point instead of a "main".
+    if (findUnderscoreMangle(E[Config->NoDefaultLibAll]))
       return mangle(E[1]);
   }
   return "";




More information about the llvm-commits mailing list