Turns out llvm-gcc still uses SplitString with a vector. Add it back until I
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 11 Jan 2010 18:44:35 +0000 (18:44 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 11 Jan 2010 18:44:35 +0000 (18:44 +0000)
have a fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93163 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/StringExtras.h
lib/Support/StringExtras.cpp

index f58fe8eade0a6cc7b19e18a6b0fb9bf49ce11e02..2f5c39cad8a9e037e649da22bf68b43c5496f9d7 100644 (file)
@@ -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.
index 65b41d526f406cbe2975ee7a8e721283fc1c265f..2363ad60d1789ff6c63fde3e4f41f71d86882770 100644 (file)
@@ -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 {