diff options
-rw-r--r-- | include/llvm/ADT/StringExtras.h | 6 | ||||
-rw-r--r-- | lib/Support/StringExtras.cpp | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h index f58fe8e..2f5c39c 100644 --- a/include/llvm/ADT/StringExtras.h +++ b/include/llvm/ADT/StringExtras.h @@ -20,6 +20,7 @@ #include <cctype> #include <cstdio> #include <string> +#include <vector> namespace llvm { template<typename T> class SmallVectorImpl; @@ -217,6 +218,11 @@ void SplitString(StringRef Source, SmallVectorImpl<StringRef> &OutFragments, StringRef Delimiters = " \t\n\v\f\r"); +// FIXME: remove when llvm-gcc doesn't use this anymore +void SplitString(StringRef Source, + std::vector<std::string> &OutFragments, + StringRef Delimiters = " \t\n\v\f\r"); + /// HashString - Hash funtion for strings. /// /// This is the Bernstein hash function. diff --git a/lib/Support/StringExtras.cpp b/lib/Support/StringExtras.cpp index 65b41d5..2363ad6 100644 --- a/lib/Support/StringExtras.cpp +++ b/lib/Support/StringExtras.cpp @@ -48,6 +48,18 @@ void llvm::SplitString(StringRef Source, } } +// FIXME: remove when llvm-gcc doesn't use this anymore +void llvm::SplitString(StringRef Source, + std::vector<std::string> &OutFragments, + StringRef Delimiters) { + StringRef S2, S; + tie(S2, S) = getToken(Source, Delimiters); + while (!S2.empty()) { + OutFragments.push_back(S2); + tie(S2, S) = getToken(S, Delimiters); + } +} + void llvm::StringRef::split(SmallVectorImpl<StringRef> &A, StringRef Separators, int MaxSplit, bool KeepEmpty) const { |