From 67b277c34fc517ea9f17e5505d9c420485224239 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Wed, 6 Nov 2013 05:48:45 +0000 Subject: [PATCH] [PECOFF] Make /disallowlib an alias for /nodefaultlib. I'm not sure if it is really an alias for /nodefaultlib, but I can say that they are at least similar. Making it an alias would be better than ignoring it. llvm-svn: 194131 --- lld/lib/Driver/WinLinkOptions.td | 2 +- lld/unittests/DriverTests/WinLinkDriverTest.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lld/lib/Driver/WinLinkOptions.td b/lld/lib/Driver/WinLinkOptions.td index 0264643861d8..2f45cba794aa 100644 --- a/lld/lib/Driver/WinLinkOptions.td +++ b/lld/lib/Driver/WinLinkOptions.td @@ -18,6 +18,7 @@ multiclass B { def base : P<"base", "Base address of the program">; def defaultlib : P<"defaultlib", "Add the library to the list of input files">; def nodefaultlib : P<"nodefaultlib", "Remove a default library">; +def disallowlib : Joined<["/", "-", "-?"], "disallowlib:">, Alias; def entry : P<"entry", "Name of entry point symbol">; // No help text because /failifmismatch is not intended to be used by the user. def failifmismatch : P<"failifmismatch", "">; @@ -92,7 +93,6 @@ def verbose : F<"verbose">; def delay : QF<"delay">; def delayload : QF<"delayload">; -def disallowlib : QF<"disallowlib">; def errorreport : QF<"errorreport">; def pdb : QF<"pdb">; def pdbaltpath : QF<"pdbaltpath">; diff --git a/lld/unittests/DriverTests/WinLinkDriverTest.cpp b/lld/unittests/DriverTests/WinLinkDriverTest.cpp index df6a484f3913..9bf62d74a948 100644 --- a/lld/unittests/DriverTests/WinLinkDriverTest.cpp +++ b/lld/unittests/DriverTests/WinLinkDriverTest.cpp @@ -283,6 +283,15 @@ TEST_F(WinLinkParserTest, NoDefaultLibAll) { EXPECT_EQ("a.obj", inputFile(0)); } +TEST_F(WinLinkParserTest, DisallowLib) { + EXPECT_TRUE(parse("link.exe", "/defaultlib:user32.lib", + "/defaultlib:kernel32", "/disallowlib:user32.lib", "a.obj", + nullptr)); + EXPECT_EQ(2, inputFileCount()); + EXPECT_EQ("a.obj", inputFile(0)); + EXPECT_EQ("kernel32.lib", inputFile(1)); +} + // // Tests for boolean flags. //