summaryrefslogtreecommitdiffstats
path: root/lldb/source
diff options
context:
space:
mode:
authorAdrian McCarthy <amccarth@google.com>2019-06-07 21:13:30 +0000
committerAdrian McCarthy <amccarth@google.com>2019-06-07 21:13:30 +0000
commit4447d15aef08b10fddc2f3c5133f32cdbfb7f441 (patch)
tree62c92ea49a582022aa259837d2cc5240bf76d844 /lldb/source
parent13427e64de2b67e4ca42b2860c5d3ee50db0abfc (diff)
downloadbcm5719-llvm-4447d15aef08b10fddc2f3c5133f32cdbfb7f441.tar.gz
bcm5719-llvm-4447d15aef08b10fddc2f3c5133f32cdbfb7f441.zip
Fix lit tests on Windows related to CR+LF
Problem discovered in the breakpoint lit test, but probably exists in others. lldb-test splits lines on LF. Input files that are CR+LF separated (as is common on Windows) then resulted in commands being sent to LLDB that ended in CR, which confused the command interpreter. This could be fixed at different levels: 1. Treat '\r' like a tab or space in the argument splitter. 2. Fix the line splitters (plural) in lldb-test. 3. Normalize the test files to LF only. If we did only 3, I'd expect similar problems to recur, so this patch does 1 and 2. I may also do 3 in a separate patch later, but that's tricky because I believe we have some input files that MUST use CR+LF. Differential Revision: https://reviews.llvm.org/D62759 llvm-svn: 362844
Diffstat (limited to 'lldb/source')
-rw-r--r--lldb/source/Utility/Args.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lldb/source/Utility/Args.cpp b/lldb/source/Utility/Args.cpp
index ac79354b028..77b0d43254a 100644
--- a/lldb/source/Utility/Args.cpp
+++ b/lldb/source/Utility/Args.cpp
@@ -95,7 +95,7 @@ ParseSingleArgument(llvm::StringRef command) {
bool arg_complete = false;
do {
// Skip over over regular characters and append them.
- size_t regular = command.find_first_of(" \t\"'`\\");
+ size_t regular = command.find_first_of(" \t\r\"'`\\");
arg += command.substr(0, regular);
command = command.substr(regular);
@@ -123,6 +123,7 @@ ParseSingleArgument(llvm::StringRef command) {
case ' ':
case '\t':
+ case '\r':
// We are not inside any quotes, we just found a space after an argument.
// We are done.
arg_complete = true;
OpenPOWER on IntegriCloud