Revert D4567233: [Folly] Drop support for Clang < 3.9
authorChristopher Dykes <cdykes@fb.com>
Fri, 16 Jun 2017 20:59:23 +0000 (13:59 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Fri, 16 Jun 2017 21:05:49 +0000 (14:05 -0700)
Summary: This reverts commit cd94c711f0390d249b6736ab292721a477022b02

Differential Revision: D4567233

fbshipit-source-id: a10aff6b4c231666aec9f40ab65e881c3cd870dc

folly/Range.h
folly/test/ExpectedTest.cpp
folly/test/OptionalTest.cpp

index ca3731e..f80e635 100644 (file)
@@ -206,7 +206,9 @@ public:
   constexpr Range(Iter start, size_t size)
       : b_(start), e_(start + size) { }
 
+# if !__clang__ || __CLANG_PREREQ(3, 7) // Clang 3.6 crashes on this line
   /* implicit */ Range(std::nullptr_t) = delete;
+# endif
 
   template <class T = Iter, typename detail::IsCharPointer<T>::type = 0>
   constexpr /* implicit */ Range(Iter str)
index da2ede7..d8291d0 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <folly/Expected.h>
+#include <folly/Portability.h>
 #include <folly/portability/GTest.h>
 
 #include <algorithm>
@@ -452,7 +453,7 @@ TEST(Expected, MakeOptional) {
   EXPECT_EQ(**exIntPtr, 3);
 }
 
-#if __clang__
+#if __CLANG_PREREQ(3, 6)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wself-move"
 #endif
@@ -467,7 +468,7 @@ TEST(Expected, SelfAssignment) {
   ASSERT_TRUE(b.hasValue() && b.value() == "23333333");
 }
 
-#if __clang__
+#if __CLANG_PREREQ(3, 6)
 #pragma clang diagnostic pop
 #endif
 
index 5243e5e..ed84f75 100644 (file)
@@ -15,6 +15,7 @@
  */
 
 #include <folly/Optional.h>
+#include <folly/Portability.h>
 #include <folly/portability/GTest.h>
 
 #include <algorithm>
@@ -520,7 +521,7 @@ TEST(Optional, MakeOptional) {
   EXPECT_EQ(**optIntPtr, 3);
 }
 
-#if __clang__
+#if __CLANG_PREREQ(3, 6)
 # pragma clang diagnostic push
 # pragma clang diagnostic ignored "-Wself-move"
 #endif
@@ -535,7 +536,7 @@ TEST(Optional, SelfAssignment) {
   ASSERT_TRUE(b.hasValue() && b.value() == 23333333);
 }
 
-#if __clang__
+#if __CLANG_PREREQ(3, 6)
 # pragma clang diagnostic pop
 #endif