[lld] r365200 - lld, llvm-dlltool, llvm-lib: Use getAsString() instead of getSpelling() for printing unknown args

Nico Weber via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 5 05:31:33 PDT 2019


Author: nico
Date: Fri Jul  5 05:31:32 2019
New Revision: 365200

URL: http://llvm.org/viewvc/llvm-project?rev=365200&view=rev
Log:
lld, llvm-dlltool, llvm-lib: Use getAsString() instead of getSpelling() for printing unknown args

Since OPT_UNKNOWN args never have any values and consist only of
spelling (and are never aliased), this doesn't make any difference in
practice, but it's more consistent with Arg's guidance to use
getAsString() for diagnostics, and it matches what clang does.

Also tweak two tests to use an unknown option that contains '=' for
additional coverage while here. (The new tests pass fine with the old
code too though.)

Modified:
    lld/trunk/COFF/DriverUtils.cpp
    lld/trunk/ELF/DriverUtils.cpp
    lld/trunk/MinGW/Driver.cpp
    lld/trunk/test/COFF/wx.s
    lld/trunk/test/ELF/driver.test
    lld/trunk/wasm/Driver.cpp

Modified: lld/trunk/COFF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DriverUtils.cpp?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/COFF/DriverUtils.cpp (original)
+++ lld/trunk/COFF/DriverUtils.cpp Fri Jul  5 05:31:32 2019
@@ -826,9 +826,9 @@ opt::InputArgList ArgParser::parse(Array
   for (auto *Arg : Args.filtered(OPT_UNKNOWN)) {
     std::string Nearest;
     if (Table.findNearest(Arg->getAsString(Args), Nearest) > 1)
-      warn("ignoring unknown argument '" + Arg->getSpelling() + "'");
+      warn("ignoring unknown argument '" + Arg->getAsString(Args) + "'");
     else
-      warn("ignoring unknown argument '" + Arg->getSpelling() +
+      warn("ignoring unknown argument '" + Arg->getAsString(Args) +
            "', did you mean '" + Nearest + "'");
   }
 
@@ -861,7 +861,7 @@ ArgParser::parseDirectives(StringRef S)
   if (MissingCount)
     fatal(Twine(Args.getArgString(MissingIndex)) + ": missing argument");
   for (auto *Arg : Args.filtered(OPT_UNKNOWN))
-    warn("ignoring unknown argument: " + Arg->getSpelling());
+    warn("ignoring unknown argument: " + Arg->getAsString(Args));
   return {std::move(Args), std::move(Exports)};
 }
 

Modified: lld/trunk/ELF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/DriverUtils.cpp?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/ELF/DriverUtils.cpp (original)
+++ lld/trunk/ELF/DriverUtils.cpp Fri Jul  5 05:31:32 2019
@@ -135,10 +135,10 @@ opt::InputArgList ELFOptTable::parse(Arr
   for (auto *Arg : Args.filtered(OPT_UNKNOWN)) {
     std::string Nearest;
     if (findNearest(Arg->getAsString(Args), Nearest) > 1)
-      error("unknown argument '" + Arg->getSpelling() + "'");
+      error("unknown argument '" + Arg->getAsString(Args) + "'");
     else
-      error("unknown argument '" + Arg->getSpelling() + "', did you mean '" +
-            Nearest + "'");
+      error("unknown argument '" + Arg->getAsString(Args) +
+            "', did you mean '" + Nearest + "'");
   }
   return Args;
 }

Modified: lld/trunk/MinGW/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/MinGW/Driver.cpp?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/MinGW/Driver.cpp (original)
+++ lld/trunk/MinGW/Driver.cpp Fri Jul  5 05:31:32 2019
@@ -105,7 +105,7 @@ opt::InputArgList MinGWOptTable::parse(A
   if (MissingCount)
     fatal(StringRef(Args.getArgString(MissingIndex)) + ": missing argument");
   for (auto *Arg : Args.filtered(OPT_UNKNOWN))
-    fatal("unknown argument: " + Arg->getSpelling());
+    fatal("unknown argument: " + Arg->getAsString(Args));
   return Args;
 }
 

Modified: lld/trunk/test/COFF/wx.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/wx.s?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/test/COFF/wx.s (original)
+++ lld/trunk/test/COFF/wx.s Fri Jul  5 05:31:32 2019
@@ -1,15 +1,15 @@
 # REQUIRES: x86
 
 # RUN: llvm-mc -triple=x86_64-windows-msvc -filetype=obj -o %t.obj %s
-# RUN: not lld-link /out:%t.exe /entry:main -notarealoption /WX %t.obj 2>&1 | \
+# RUN: not lld-link /out:%t.exe /entry:main -notarealopt=ion /WX %t.obj 2>&1 | \
 # RUN:   FileCheck -check-prefix=ERROR %s
-# RUN: not lld-link /out:%t.exe /entry:main -notarealoption /WX:NO /WX %t.obj 2>&1 | \
+# RUN: not lld-link /out:%t.exe /entry:main -notarealopt=ion /WX:NO /WX %t.obj 2>&1 | \
 # RUN:   FileCheck -check-prefix=ERROR %s
-# RUN: lld-link /out:%t.exe /entry:main -notarealoption /WX /WX:NO %t.obj 2>&1 | \
+# RUN: lld-link /out:%t.exe /entry:main -notarealopt=ion /WX /WX:NO %t.obj 2>&1 | \
 # RUN:   FileCheck -check-prefix=WARNING %s
 
-# ERROR: error: ignoring unknown argument '-notarealoption'
-# WARNING: warning: ignoring unknown argument '-notarealoption'
+# ERROR: error: ignoring unknown argument '-notarealopt=ion'
+# WARNING: warning: ignoring unknown argument '-notarealopt=ion'
 
 .text
 .global main

Modified: lld/trunk/test/ELF/driver.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/driver.test?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/test/ELF/driver.test (original)
+++ lld/trunk/test/ELF/driver.test Fri Jul  5 05:31:32 2019
@@ -1,10 +1,10 @@
 # REQUIRES: x86
 
-# RUN: not ld.lld --unknown1 --unknown2 -m foo /no/such/file -lnosuchlib \
+# RUN: not ld.lld --unknown1 --unkn=own2 -m foo /no/such/file -lnosuchlib \
 # RUN:   2>&1 | FileCheck -check-prefix=UNKNOWN %s
 
 # UNKNOWN: unknown argument '--unknown1'
-# UNKNOWN: unknown argument '--unknown2'
+# UNKNOWN: unknown argument '--unkn=own2'
 # UNKNOWN: unknown emulation: foo
 # UNKNOWN: cannot open /no/such/file
 # UNKNOWN: unable to find library -lnosuchlib

Modified: lld/trunk/wasm/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Driver.cpp?rev=365200&r1=365199&r2=365200&view=diff
==============================================================================
--- lld/trunk/wasm/Driver.cpp (original)
+++ lld/trunk/wasm/Driver.cpp Fri Jul  5 05:31:32 2019
@@ -170,7 +170,7 @@ opt::InputArgList WasmOptTable::parse(Ar
 
   handleColorDiagnostics(Args);
   for (auto *Arg : Args.filtered(OPT_UNKNOWN))
-    error("unknown argument: " + Arg->getSpelling());
+    error("unknown argument: " + Arg->getAsString(Args));
   return Args;
 }
 




More information about the llvm-commits mailing list