[lld] r183034 - [WinLink][Driver] Add -entry command line option.

Rui Ueyama ruiu at google.com
Fri May 31 12:34:29 PDT 2013


Author: ruiu
Date: Fri May 31 14:34:29 2013
New Revision: 183034

URL: http://llvm.org/viewvc/llvm-project?rev=183034&view=rev
Log:
[WinLink][Driver] Add -entry command line option.

Modified:
    lld/trunk/lib/Driver/WinLinkDriver.cpp
    lld/trunk/lib/Driver/WinLinkOptions.td
    lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp

Modified: lld/trunk/lib/Driver/WinLinkDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/WinLinkDriver.cpp?rev=183034&r1=183033&r2=183034&view=diff
==============================================================================
--- lld/trunk/lib/Driver/WinLinkDriver.cpp (original)
+++ lld/trunk/lib/Driver/WinLinkDriver.cpp Fri May 31 14:34:29 2013
@@ -200,6 +200,10 @@ bool WinLinkDriver::parse(int argc, cons
     if (!parseSubsystemOption(info, arg->getValue(), diagnostics))
       return true;
 
+  // Handle -entry
+  if (llvm::opt::Arg *arg = parsedArgs->getLastArg(OPT_entry))
+    info.setEntrySymbolName(arg->getValue());
+
   // Hanlde -out
   if (llvm::opt::Arg *outpath = parsedArgs->getLastArg(OPT_out))
     info.setOutputPath(outpath->getValue());

Modified: lld/trunk/lib/Driver/WinLinkOptions.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/WinLinkOptions.td?rev=183034&r1=183033&r2=183034&view=diff
==============================================================================
--- lld/trunk/lib/Driver/WinLinkOptions.td (original)
+++ lld/trunk/lib/Driver/WinLinkOptions.td Fri May 31 14:34:29 2013
@@ -13,5 +13,9 @@ def subsystem : Separate<["-", "/"], "su
     HelpText<"Specify subsystem">;
 def subsystem_c: Joined<["-", "/"], "subsystem:">, Alias<subsystem>;
 
+def entry : Separate<["-", "/"], "entry">,
+    HelpText<"Name of entry point symbol">;
+def entry_c: Joined<["-", "/"], "entry:">, Alias<entry>;
+
 def help : Flag<["-", "/"], "help">;
 def help_q : Flag<["-", "/"], "?">, Alias<help>;

Modified: lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp?rev=183034&r1=183033&r2=183034&view=diff
==============================================================================
--- lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp (original)
+++ lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp Fri May 31 14:34:29 2013
@@ -34,9 +34,10 @@ protected:
 
 TEST_F(WinLinkParserTest, Basic) {
   parse("link.exe", "-subsystem", "console", "-out", "a.exe",
-        "a.obj", "b.obj", "c.obj", nullptr);
+        "-entry", "_start", "a.obj", "b.obj", "c.obj", nullptr);
   EXPECT_EQ(llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_CUI, info->getSubsystem());
   EXPECT_EQ("a.exe", info->outputPath());
+  EXPECT_EQ("_start", info->entrySymbolName());
   EXPECT_EQ(3, (int)inputFiles.size());
   EXPECT_EQ("a.obj", inputFiles[0]);
   EXPECT_EQ("b.obj", inputFiles[1]);





More information about the llvm-commits mailing list