From bee4859786e6a504938417d48d036e9dceee75cc Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 5 Aug 2015 09:39:41 +0000 Subject: [PATCH] [ArrayRefTest] Work around a GCC 4.8 internal compiler error. llvm-svn: 244023 --- llvm/unittests/ADT/ArrayRefTest.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp index 00afcae..3ab13a3 100644 --- a/llvm/unittests/ADT/ArrayRefTest.cpp +++ b/llvm/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 Array3Copy = makeArrayRef(Array3Src).copy(Alloc); EXPECT_EQ(makeArrayRef(Array3Src), Array3Copy); EXPECT_NE(makeArrayRef(Array3Src).data(), Array3Copy.data()); -#endif } TEST(ArrayRefTest, DropBack) { -- 2.7.4