Change CheckedArithmetic to not use std::enable_if_t.
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Feb 2019 23:33:08 +0000 (23:33 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Feb 2019 23:33:08 +0000 (23:33 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195187
<rdar://problem/48464665>

Reviewed by Keith Miller.

Because C++11 does not like std::enable_if_t and there's a need to use this file with C++11.

* wtf/CheckedArithmetic.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/CheckedArithmetic.h

index 44d118b..d504103 100644 (file)
@@ -1,3 +1,15 @@
+2019-02-28  Mark Lam  <mark.lam@apple.com>
+
+        Change CheckedArithmetic to not use std::enable_if_t.
+        https://bugs.webkit.org/show_bug.cgi?id=195187
+        <rdar://problem/48464665>
+
+        Reviewed by Keith Miller.
+
+        Because C++11 does not like std::enable_if_t and there's a need to use this file with C++11.
+
+        * wtf/CheckedArithmetic.h:
+
 2019-02-27  Simon Fraser  <simon.fraser@apple.com>
 
         Roll out r242014; it caused crashes in compositing logging (webkit.org/b/195141)
index b262db4..ad85a61 100644 (file)
@@ -541,7 +541,7 @@ template <typename ResultType> struct ArithmeticOperations<unsigned, int, Result
     }
 };
 
-template <class OverflowHandler, typename = std::enable_if_t<!std::is_scalar<OverflowHandler>::value>>
+template <class OverflowHandler, typename = typename std::enable_if<!std::is_scalar<OverflowHandler>::value>::type>
 inline constexpr bool observesOverflow() { return true; }
 
 template <>
@@ -553,7 +553,7 @@ template <typename U, typename V, typename R> static inline bool safeAdd(U lhs,
     return true;
 }
 
-template <class OverflowHandler, typename U, typename V, typename R, typename = std::enable_if_t<!std::is_scalar<OverflowHandler>::value>>
+template <class OverflowHandler, typename U, typename V, typename R, typename = typename std::enable_if<!std::is_scalar<OverflowHandler>::value>::type>
 static inline bool safeAdd(U lhs, V rhs, R& result)
 {
     if (observesOverflow<OverflowHandler>())
@@ -567,7 +567,7 @@ template <typename U, typename V, typename R> static inline bool safeSub(U lhs,
     return ArithmeticOperations<U, V, R>::sub(lhs, rhs, result);
 }
 
-template <class OverflowHandler, typename U, typename V, typename R, typename = std::enable_if_t<!std::is_scalar<OverflowHandler>::value>>
+template <class OverflowHandler, typename U, typename V, typename R, typename = typename std::enable_if<!std::is_scalar<OverflowHandler>::value>::type>
 static inline bool safeSub(U lhs, V rhs, R& result)
 {
     if (observesOverflow<OverflowHandler>())
@@ -581,7 +581,7 @@ template <typename U, typename V, typename R> static inline bool safeMultiply(U
     return ArithmeticOperations<U, V, R>::multiply(lhs, rhs, result);
 }
 
-template <class OverflowHandler, typename U, typename V, typename R, typename = std::enable_if_t<!std::is_scalar<OverflowHandler>::value>>
+template <class OverflowHandler, typename U, typename V, typename R, typename = typename std::enable_if<!std::is_scalar<OverflowHandler>::value>::type>
 static inline bool safeMultiply(U lhs, V rhs, R& result)
 {
     if (observesOverflow<OverflowHandler>())