diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-02-06 14:09:57 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-02-06 14:09:57 +0100 |
commit | d93960e181aa7010f4de80b5b3c5ac21c602ed41 (patch) | |
tree | f349126505986e84c0af787b7f69c3c4d396227d /vespalib/src/tests/stllike | |
parent | 7e93d5dac4c722f1efa0e85e511a90084264a99f (diff) |
Eliminate clang warning in vespalib
Diffstat (limited to 'vespalib/src/tests/stllike')
-rw-r--r-- | vespalib/src/tests/stllike/string_test.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/vespalib/src/tests/stllike/string_test.cpp b/vespalib/src/tests/stllike/string_test.cpp index 96c095667ee..885c13172b1 100644 --- a/vespalib/src/tests/stllike/string_test.cpp +++ b/vespalib/src/tests/stllike/string_test.cpp @@ -27,12 +27,27 @@ TEST("test iterator assignment") { EXPECT_TRUE(strstr(s.c_str(), "mumbo jumbo.") == nullptr); } +namespace { + +template <typename S> +void assign(S &lhs, const S &rhs) __attribute__((noinline)); + +template <typename S> +void +assign(S &lhs, const S &rhs) +{ + lhs = rhs; +} + +} + + TEST("test self assignment of small string") { const char * text = "abc"; string s(text); const char * addr(reinterpret_cast<const char *>(&s)); EXPECT_TRUE((addr < s.c_str()) && (s.c_str() < addr + sizeof(s))); - s = s; + assign(s, s); EXPECT_EQUAL(text, s); } @@ -41,7 +56,7 @@ TEST("test self assignment of big string") { string s(text); const char * addr(reinterpret_cast<const char *>(&s)); EXPECT_TRUE((addr > s.c_str()) || (s.c_str() > addr + sizeof(s))); - s = s; + assign(s, s); EXPECT_EQUAL(text, s); } |