[Allocator] Fix r206256 which got the enabling case backwards on these
authorChandler Carruth <chandlerc@gmail.com>
Tue, 15 Apr 2014 08:14:48 +0000 (08:14 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 15 Apr 2014 08:14:48 +0000 (08:14 +0000)
overloads. This doesn't matter *that* much yet, but it will in
a subsequent patch. I had tested the original pattern, but not my
attempt to pacify MSVC. This at least appears to work. Still fixing the
rest of the fallout in the final patch that uses these overloads, but it
will follow shortly.

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

include/llvm/Support/Allocator.h

index 034661f4bcd21d6a5e517e30fc11a69b2b7618a1..617ab9fd7a3da6962d6324633145505c0d4264b6 100644 (file)
@@ -99,7 +99,7 @@ public:
   /// \brief Deallocate space for one object without destroying it.
   template <typename T>
   typename std::enable_if<
-      std::is_same<typename std::remove_cv<T>::type, void>::value, void>::type
+      !std::is_same<typename std::remove_cv<T>::type, void>::value, void>::type
   Deallocate(T *Ptr) {
     Deallocate(static_cast<const void *>(Ptr));
   }
@@ -107,7 +107,7 @@ public:
   /// \brief Allocate space for an array of objects without constructing them.
   template <typename T>
   typename std::enable_if<
-      std::is_same<typename std::remove_cv<T>::type, void>::value, void>::type
+      !std::is_same<typename std::remove_cv<T>::type, void>::value, void>::type
   Deallocate(T *Ptr, size_t /*Num*/) {
     Deallocate(static_cast<const void *>(Ptr));
   }