[ArrayRefTest] Work around a GCC 4.8 internal compiler error.
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 5 Aug 2015 09:39:41 +0000 (09:39 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 5 Aug 2015 09:39:41 +0000 (09:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244023 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ADT/ArrayRefTest.cpp

index 00afcae2e7a52523465474ff8eea10933a0fd2c8..3ab13a34829282e649db966ae9f2b59aaaa44237 100644 (file)
@@ -46,21 +46,18 @@ TEST(ArrayRefTest, AllocatorCopy) {
   EXPECT_TRUE(Array2.equals(Array2c));
   EXPECT_NE(Array2.data(), Array2c.data());
 
-#if __GNUC__==4 && __GNUC_MINOR__==8
-  // g++-4.8 cannot compile the block below.
-#else
   // Check that copy can cope with uninitialized memory.
   struct NonAssignable {
     const char *Ptr;
 
+    NonAssignable(const char *Ptr) : Ptr(Ptr) {}
     NonAssignable(const NonAssignable &RHS) = default;
     void operator=(const NonAssignable &RHS) { assert(RHS.Ptr != nullptr); }
     bool operator==(const NonAssignable &RHS) const { return Ptr == RHS.Ptr; }
-  } Array3Src[] = {{"hello"}, {"world"}};
+  } Array3Src[] = {"hello", "world"};
   ArrayRef<NonAssignable> Array3Copy = makeArrayRef(Array3Src).copy(Alloc);
   EXPECT_EQ(makeArrayRef(Array3Src), Array3Copy);
   EXPECT_NE(makeArrayRef(Array3Src).data(), Array3Copy.data());
-#endif
 }
 
 TEST(ArrayRefTest, DropBack) {