diff options
author | Lenny Maiorani <lenny@colorado.edu> | 2011-04-28 20:20:12 +0000 |
---|---|---|
committer | Lenny Maiorani <lenny@colorado.edu> | 2011-04-28 20:20:12 +0000 |
commit | 6cf081cbe5963d6e1b12b0ac1268538a38acd0f1 (patch) | |
tree | 84ca75909079f0182aa0460b62dd81725658bdd6 | |
parent | d227eedf8270f816270259742c17685f59044a22 (diff) |
Remove bounded StringRef::compare() since nothing but Clang SA was using it and it is just as easy to use StringRef::substr() preceding StringRef::compare() to achieve the same thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130430 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ADT/StringRef.h | 6 | ||||
-rw-r--r-- | lib/Support/StringRef.cpp | 21 | ||||
-rw-r--r-- | unittests/ADT/StringRefTest.cpp | 13 |
3 files changed, 0 insertions, 40 deletions
diff --git a/include/llvm/ADT/StringRef.h b/include/llvm/ADT/StringRef.h index adff42fe2d..1766d2b9f2 100644 --- a/include/llvm/ADT/StringRef.h +++ b/include/llvm/ADT/StringRef.h @@ -125,12 +125,6 @@ namespace llvm { return Length < RHS.Length ? -1 : 1; } - /// compare - Compare two strings; the result is -1, 0, or 1 if this string - /// is lexicographically less than, equal to, or greater than the \arg RHS. - /// This is different than compare with no size specified as it only - /// compares at most the first n bytes. - int compare(StringRef RHS, size_t n) const; - /// compare_lower - Compare two strings, ignoring case. int compare_lower(StringRef RHS) const; diff --git a/lib/Support/StringRef.cpp b/lib/Support/StringRef.cpp index 066e7743ae..8c3fc094cd 100644 --- a/lib/Support/StringRef.cpp +++ b/lib/Support/StringRef.cpp @@ -29,27 +29,6 @@ static bool ascii_isdigit(char x) { return x >= '0' && x <= '9'; } -/// compare - Compare two strings; the result is -1, 0, or 1 if this string -/// is lexicographically less than, equal to, or greater than the \arg RHS. -/// This is different than compare with no size specified as it only -/// compares at most the first n bytes. -int StringRef::compare(StringRef RHS, size_t n) const { - // Check the prefix for a mismatch. - size_t maxToCmp = min(Length, RHS.Length); - maxToCmp = min(maxToCmp, n); - if (int Res = memcmp(Data, RHS.Data, maxToCmp)) - return Res < 0 ? -1 : 1; - - // Otherwise the prefixes match, so we only need to check the lengths. - // Be mindful that if the n is less than or equal to the length of either - // string, that is the same as the strings matching because in that case - // we only care about the prefix. - if (((n <= Length) && (n <= RHS.Length)) || - (Length == RHS.Length)) - return 0; - return Length < RHS.Length ? -1 : 1; -} - /// compare_lower - Compare strings, ignoring case. int StringRef::compare_lower(StringRef RHS) const { for (size_t I = 0, E = min(Length, RHS.Length); I != E; ++I) { diff --git a/unittests/ADT/StringRefTest.cpp b/unittests/ADT/StringRefTest.cpp index 633fcc81fd..5731e4abaf 100644 --- a/unittests/ADT/StringRefTest.cpp +++ b/unittests/ADT/StringRefTest.cpp @@ -55,19 +55,6 @@ TEST(StringRefTest, StringOps) { EXPECT_EQ( 1, StringRef("aab").compare("aa")); EXPECT_EQ( 1, StringRef("\xFF").compare("\1")); - EXPECT_EQ(-1, StringRef("aab").compare("aad", 3)); - EXPECT_EQ( 0, StringRef("aab").compare("aab", 3)); - EXPECT_EQ( 1, StringRef("aab").compare("aaa", 3)); - EXPECT_EQ(-1, StringRef("aab").compare("aabb", 4)); - EXPECT_EQ( 1, StringRef("aab").compare("aa", 3)); - EXPECT_EQ( 1, StringRef("\xFF").compare("\1", 3)); - EXPECT_EQ( 0, StringRef("aab").compare("aad", 2)); - EXPECT_EQ( 0, StringRef("aab").compare("aab", 2)); - EXPECT_EQ( 0, StringRef("aab").compare("aab", 4)); - EXPECT_EQ( 0, StringRef("aab").compare("aaa", 2)); - EXPECT_EQ( 0, StringRef("aab").compare("aabb", 3)); - EXPECT_EQ( 0, StringRef("aab").compare("aa", 2)); - EXPECT_EQ(-1, StringRef("AaB").compare_lower("aAd")); EXPECT_EQ( 0, StringRef("AaB").compare_lower("aab")); EXPECT_EQ( 1, StringRef("AaB").compare_lower("AAA")); |