diff options
author | Nikola Smiljanic <popizdeh@gmail.com> | 2014-06-19 00:26:49 +0000 |
---|---|---|
committer | Nikola Smiljanic <popizdeh@gmail.com> | 2014-06-19 00:26:49 +0000 |
commit | 89e561a63ec04b59ee70bd6e1a1c1746eacc94dd (patch) | |
tree | 11f6302f0165ca53eff81bbac0b5f96534ce4677 /llvm/unittests/Support/StringPool.cpp | |
parent | c03ef578eba2f43ee757bef205fd5a540076414f (diff) | |
download | bcm5719-llvm-89e561a63ec04b59ee70bd6e1a1c1746eacc94dd.tar.gz bcm5719-llvm-89e561a63ec04b59ee70bd6e1a1c1746eacc94dd.zip |
PR10140 - StringPool's PooledStringPtr has non-const operator== causing bad OR-result.
Mark conversion operator explicit and const qualify comparison operators.
llvm-svn: 211244
Diffstat (limited to 'llvm/unittests/Support/StringPool.cpp')
-rw-r--r-- | llvm/unittests/Support/StringPool.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/unittests/Support/StringPool.cpp b/llvm/unittests/Support/StringPool.cpp new file mode 100644 index 00000000000..7b7805f9171 --- /dev/null +++ b/llvm/unittests/Support/StringPool.cpp @@ -0,0 +1,31 @@ +//===- llvm/unittest/Support/ThreadLocalTest.cpp - Therad Local tests ---===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Support/StringPool.h" +#include "gtest/gtest.h" + +using namespace llvm; + +namespace { + +TEST(PooledStringPtrTest, OperatorEquals) { + StringPool pool; + const PooledStringPtr a = pool.intern("a"); + const PooledStringPtr b = pool.intern("b"); + EXPECT_FALSE(a == b); +} + +TEST(PooledStringPtrTest, OperatorNotEquals) { + StringPool pool; + const PooledStringPtr a = pool.intern("a"); + const PooledStringPtr b = pool.intern("b"); + EXPECT_TRUE(a != b); +} + +} |