aboutsummaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-07-05 11:28:31 +0000
committerNico Weber <nicolasweber@gmx.de>2019-07-05 11:28:31 +0000
commitfdef18b42d02d69ca3a7be9c8c38a83ace51d9ff (patch)
tree2e421dc8b186b490db83f7d2595b0951e0c45e41 /llvm
parent433edaed127c16fd641d9515d1340a01086058ff (diff)
downloadllvm-fdef18b42d02d69ca3a7be9c8c38a83ace51d9ff.zip
llvm-fdef18b42d02d69ca3a7be9c8c38a83ace51d9ff.tar.gz
llvm-fdef18b42d02d69ca3a7be9c8c38a83ace51d9ff.tar.bz2
lld-link: Make /debugtype: option work better
- The code tried to pass false to split()'s KeepEmpty parameter, but instead passed it to MaxSplit. As a result, it would never split on commas. This has been broken since the flag was added in r278056. - The code used getSpelling() for getting the argument's values, but getSpelling() always returns the `/debugtype:` prefix without any values. So if any /debugtype: flag was passed, it always resulted in an "unknown option:" warning. (The warning code then used the correct getValue() for printing the invalid option, so the warning looked kind of like it made sense.) This regressed in r342894. Slightly improve the test coverage of this feature (but since I don't know what this flag actually does, there's still no test for the correct semantics), and add a comment to getSpelling() explaining what it does. llvm-svn: 365182
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Option/Arg.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/Option/Arg.h b/llvm/include/llvm/Option/Arg.h
index d3623a0..8c47870 100644
--- a/llvm/include/llvm/Option/Arg.h
+++ b/llvm/include/llvm/Option/Arg.h
@@ -70,7 +70,15 @@ public:
~Arg();
const Option &getOption() const { return Opt; }
+
+ /// Returns the used prefix and name of the option:
+ /// For `--foo=bar`, returns `--foo=`.
+ /// This is often the wrong function to call:
+ /// * Use `getValue()` to get `bar`.
+ /// * Use `getAsString()` to get a string suitable for printing an Arg in
+ /// a diagnostic.
StringRef getSpelling() const { return Spelling; }
+
unsigned getIndex() const { return Index; }
/// Return the base argument which generated this arg.