[lld] r187243 - [PECOFF][Driver] Fix a bug that -mllvm does not take any arguments.

Rui Ueyama ruiu at google.com
Fri Jul 26 13:54:37 PDT 2013


Author: ruiu
Date: Fri Jul 26 15:54:36 2013
New Revision: 187243

URL: http://llvm.org/viewvc/llvm-project?rev=187243&view=rev
Log:
[PECOFF][Driver] Fix a bug that -mllvm does not take any arguments.

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

Modified: lld/trunk/lib/Driver/WinLinkOptions.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/WinLinkOptions.td?rev=187243&r1=187242&r2=187243&view=diff
==============================================================================
--- lld/trunk/lib/Driver/WinLinkOptions.td (original)
+++ lld/trunk/lib/Driver/WinLinkOptions.td Fri Jul 26 15:54:36 2013
@@ -7,7 +7,7 @@ class _Separate<string name> : Separate<
 class _Joined<string name, Option alias> : Joined<["-", "/"], name>,
       Alias<alias>;
 
-def mllvm : _Flag<"mllvm">, HelpText<"Options to pass to LLVM">;
+def mllvm : _Separate<"mllvm">, HelpText<"Options to pass to LLVM">;
 
 def out : _Separate<"out">, HelpText<"Path to file to write output">;
 def out_c : _Joined<"out:", out>;

Modified: lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp?rev=187243&r1=187242&r2=187243&view=diff
==============================================================================
--- lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp (original)
+++ lld/trunk/unittests/DriverTests/WinLinkDriverTest.cpp Fri Jul 26 15:54:36 2013
@@ -66,6 +66,13 @@ TEST_F(WinLinkParserTest, UnixStyleOptio
   EXPECT_EQ("a.obj", inputFile(0));
 }
 
+TEST_F(WinLinkParserTest, Mllvm) {
+  EXPECT_FALSE(parse("link.exe", "-mllvm", "-debug", "a.obj", nullptr));
+  const std::vector<const char *> &options = _info.llvmOptions();
+  EXPECT_EQ(1U, options.size());
+  EXPECT_EQ("-debug", options[0]);
+}
+
 TEST_F(WinLinkParserTest, NoFileExtension) {
   EXPECT_FALSE(parse("link.exe", "foo", "bar", nullptr));
   EXPECT_EQ("foo.exe", _info.outputPath());





More information about the llvm-commits mailing list