From 7ec2a31f14defa41b36da94c00aa85d5a9862462 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Mon, 11 Jan 2010 18:44:35 +0000 Subject: [PATCH] Turns out llvm-gcc still uses SplitString with a vector. Add it back until I have a fix. llvm-svn: 93163 --- include/llvm/ADT/StringExtras.h | 6 ++++++ lib/Support/StringExtras.cpp | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h index f58fe8eade0..2f5c39cad8a 100644 --- a/include/llvm/ADT/StringExtras.h +++ b/include/llvm/ADT/StringExtras.h @@ -20,6 +20,7 @@ #include #include #include +#include namespace llvm { template class SmallVectorImpl; @@ -217,6 +218,11 @@ void SplitString(StringRef Source, SmallVectorImpl &OutFragments, StringRef Delimiters = " \t\n\v\f\r"); +// FIXME: remove when llvm-gcc doesn't use this anymore +void SplitString(StringRef Source, + std::vector &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 65b41d526f4..2363ad60d17 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 &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 &A, StringRef Separators, int MaxSplit, bool KeepEmpty) const {