summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-07-25 02:57:39 +0000
committerRui Ueyama <ruiu@google.com>2013-07-25 02:57:39 +0000
commitde25a6953199e9068c1f59879110e935914120f0 (patch)
tree9506cd2dc7fe8d56b2863650e7a31ee9151ba3e6
parent5b15037fc9896efc613b5746fcecf0ab5bd3df91 (diff)
downloadbcm5719-llvm-de25a6953199e9068c1f59879110e935914120f0.tar.gz
bcm5719-llvm-de25a6953199e9068c1f59879110e935914120f0.zip
[PECOFF][Driver] Allow multiple /include options.
llvm-svn: 187100
-rw-r--r--lld/lib/Driver/WinLinkDriver.cpp7
-rw-r--r--lld/test/pecoff/include.test5
2 files changed, 8 insertions, 4 deletions
diff --git a/lld/lib/Driver/WinLinkDriver.cpp b/lld/lib/Driver/WinLinkDriver.cpp
index 6befd29df11..5f1a2f744eb 100644
--- a/lld/lib/Driver/WinLinkDriver.cpp
+++ b/lld/lib/Driver/WinLinkDriver.cpp
@@ -373,8 +373,11 @@ bool WinLinkDriver::parse(int argc, const char *argv[],
info.setTerminalServerAware(false);
// handle /include
- if (llvm::opt::Arg *sym = parsedArgs->getLastArg(OPT_incl))
- info.addInitialUndefinedSymbol(sym->getValue());
+ for (llvm::opt::arg_iterator it = parsedArgs->filtered_begin(OPT_incl),
+ ie = parsedArgs->filtered_end();
+ it != ie; ++it) {
+ info.addInitialUndefinedSymbol((*it)->getValue());
+ }
// handle /out
if (llvm::opt::Arg *outpath = parsedArgs->getLastArg(OPT_out))
diff --git a/lld/test/pecoff/include.test b/lld/test/pecoff/include.test
index 07f5c86a34b..93793377763 100644
--- a/lld/test/pecoff/include.test
+++ b/lld/test/pecoff/include.test
@@ -1,7 +1,8 @@
# RUN: yaml2obj %p/Inputs/nop.obj.yaml > %t.obj
#
# RUN: not lld -flavor link /out:%t1 /subsystem:console \
-# RUN: /include:nosuchsym -- %t.obj 2> %t1
+# RUN: /include:sym1 /include:sym2 -- %t.obj 2> %t1
# RUN: FileCheck %s < %t1
-CHECK: Undefined Symbol: Linker Internal File : nosuchsym \ No newline at end of file
+CHECK: Undefined Symbol: Linker Internal File : sym1
+CHECK: Undefined Symbol: Linker Internal File : sym2
OpenPOWER on IntegriCloud