summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-07-07 01:58:04 +0000
committerRui Ueyama <ruiu@google.com>2016-07-07 01:58:04 +0000
commit0f282a593f872ff4d424c930d3c40fa996e91c69 (patch)
tree4e9642980f310bf48d9ffa8bc2ee16c2f2a453b4
parent730c82e6b87e9a58feddf9d837cb915c9e88e9fe (diff)
downloadbcm5719-llvm-0f282a593f872ff4d424c930d3c40fa996e91c69.tar.gz
bcm5719-llvm-0f282a593f872ff4d424c930d3c40fa996e91c69.zip
Do not call warning() from ELFOptTable::parse().
warning() depends on Config->FatalWarnings, so we don't want to call that function before we initialize that member. llvm-svn: 274723
-rw-r--r--lld/ELF/Config.h2
-rw-r--r--lld/ELF/DriverUtils.cpp7
-rw-r--r--lld/test/ELF/driver.test5
3 files changed, 5 insertions, 9 deletions
diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h
index 03f3d6cd618..3c9c7a1ea62 100644
--- a/lld/ELF/Config.h
+++ b/lld/ELF/Config.h
@@ -81,7 +81,7 @@ struct Configuration {
bool EhFrameHdr;
bool EnableNewDtags;
bool ExportDynamic;
- bool FatalWarnings = false;
+ bool FatalWarnings;
bool GcSections;
bool GnuHash = false;
bool ICF;
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index 7cbba62b268..a864c8136c4 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -87,11 +87,8 @@ opt::InputArgList ELFOptTable::parse(ArrayRef<const char *> Argv) {
"\", expected " + Twine(MissingCount) +
(MissingCount == 1 ? " argument.\n" : " arguments"));
- iterator_range<opt::arg_iterator> Unknowns = Args.filtered(OPT_UNKNOWN);
- for (auto *Arg : Unknowns)
- warning("warning: unknown argument: " + Arg->getSpelling());
- if (Unknowns.begin() != Unknowns.end())
- error("unknown argument(s) found");
+ for (auto *Arg : Args.filtered(OPT_UNKNOWN))
+ error("unknown argument: " + Arg->getSpelling());
return Args;
}
diff --git a/lld/test/ELF/driver.test b/lld/test/ELF/driver.test
index 1b0552ca057..95e2100b4ab 100644
--- a/lld/test/ELF/driver.test
+++ b/lld/test/ELF/driver.test
@@ -3,9 +3,8 @@
# RUN: not ld.lld --unknown1 --unknown2 -m foo /no/such/file -lnosuchlib \
# RUN: 2>&1 | FileCheck -check-prefix=UNKNOWN %s
-# UNKNOWN: warning: unknown argument: --unknown1
-# UNKNOWN: warning: unknown argument: --unknown2
-# UNKNOWN: unknown argument(s) found
+# UNKNOWN: unknown argument: --unknown1
+# UNKNOWN: unknown argument: --unknown2
# UNKNOWN: unknown emulation: foo
# UNKNOWN: cannot open /no/such/file
# UNKNOWN: unable to find library -lnosuchlib
OpenPOWER on IntegriCloud