From: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed, 5 Aug 2015 09:39:41 +0000 (+0000)
Subject: [ArrayRefTest] Work around a GCC 4.8 internal compiler error.
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0fdface497e20eb1f198e4810c40410cb452afa;p=llvm

[ArrayRefTest] Work around a GCC 4.8 internal compiler error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244023 91177308-0d34-0410-b5e6-96231b3b80d8
---

diff --git a/unittests/ADT/ArrayRefTest.cpp b/unittests/ADT/ArrayRefTest.cpp
index 00afcae2e7a..3ab13a34829 100644
--- a/unittests/ADT/ArrayRefTest.cpp
+++ b/unittests/ADT/ArrayRefTest.cpp
@@ -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) {