[X86] Add support for tbyte memory operand size for Intel-syntax x86 assembly
[oota-llvm.git] / unittests / ADT / StringMapTest.cpp
index 215d3dfa02e5a86ec482b684806adf847e35ff1d..4ed0b76f0f41a2024c93104ce5d5399526e13487 100644 (file)
@@ -244,21 +244,27 @@ TEST_F(StringMapTest, InsertRehashingPairTest) {
 // Create a non-default constructable value
 struct StringMapTestStruct {
   StringMapTestStruct(int i) : i(i) {}
-  StringMapTestStruct() LLVM_DELETED_FUNCTION;
+  StringMapTestStruct() = delete;
   int i;
 };
 
 TEST_F(StringMapTest, NonDefaultConstructable) {
   StringMap<StringMapTestStruct> t;
-  t.GetOrCreateValue("Test", StringMapTestStruct(123));
+  t.insert(std::make_pair("Test", StringMapTestStruct(123)));
   StringMap<StringMapTestStruct>::iterator iter = t.find("Test");
   ASSERT_NE(iter, t.end());
   ASSERT_EQ(iter->second.i, 123);
 }
 
+struct Immovable {
+  Immovable() {}
+  Immovable(Immovable&&) = delete; // will disable the other special members
+};
+
 struct MoveOnly {
   int i;
   MoveOnly(int i) : i(i) {}
+  MoveOnly(const Immovable&) : i(0) {}
   MoveOnly(MoveOnly &&RHS) : i(RHS.i) {}
   MoveOnly &operator=(MoveOnly &&RHS) {
     i = RHS.i;
@@ -266,21 +272,27 @@ struct MoveOnly {
   }
 
 private:
-  MoveOnly(const MoveOnly &);
-  MoveOnly &operator=(const MoveOnly &);
+  MoveOnly(const MoveOnly &) = delete;
+  MoveOnly &operator=(const MoveOnly &) = delete;
 };
 
-TEST_F(StringMapTest, MoveOnlyKey) {
+TEST_F(StringMapTest, MoveOnly) {
   StringMap<MoveOnly> t;
-  t.GetOrCreateValue("Test", MoveOnly(42));
+  t.insert(std::make_pair("Test", MoveOnly(42)));
   StringRef Key = "Test";
   StringMapEntry<MoveOnly>::Create(Key, MoveOnly(42))
       ->Destroy();
 }
 
+TEST_F(StringMapTest, CtorArg) {
+  StringRef Key = "Test";
+  StringMapEntry<MoveOnly>::Create(Key, Immovable())
+      ->Destroy();
+}
+
 TEST_F(StringMapTest, MoveConstruct) {
   StringMap<int> A;
-  A.GetOrCreateValue("x", 42);
+  A["x"] = 42;
   StringMap<int> B = std::move(A);
   ASSERT_EQ(A.size(), 0u);
   ASSERT_EQ(B.size(), 1u);
@@ -325,7 +337,7 @@ struct Countable {
 TEST_F(StringMapTest, MoveDtor) {
   int InstanceCount = 0;
   StringMap<Countable> A;
-  A.GetOrCreateValue("x", Countable(42, InstanceCount));
+  A.insert(std::make_pair("x", Countable(42, InstanceCount)));
   ASSERT_EQ(InstanceCount, 1);
   auto I = A.find("x");
   ASSERT_NE(I, A.end());