folly: changes to make nvcc happy
authorYangqing Jia <jiayq@fb.com>
Wed, 26 Jul 2017 06:45:53 +0000 (23:45 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Wed, 26 Jul 2017 06:55:49 +0000 (23:55 -0700)
Summary:
(1) small_vector.h line 1099: wrap the default return in an else statement to
avoid compiler warning of "unreachable statement".
(2) Constexpr.h: need to treat cudacc similarly to msvc.

(Note: this ignores all push blocking failures!)

Reviewed By: dzhulgakov

Differential Revision: D5387061

fbshipit-source-id: f002ab5ec00d4dcd85d86386f87a0327023afa1b

folly/portability/Constexpr.h
folly/small_vector.h

index 4d99b62171ac231099e01945467f831fc5096f94..0b5c5a1a59b80ad7bcd9be3342e5bd885add6fbe 100644 (file)
@@ -101,7 +101,7 @@ template <>
 constexpr size_t constexpr_strlen(const char* s) {
 #if defined(__clang__)
   return __builtin_strlen(s);
-#elif defined(_MSC_VER)
+#elif defined(_MSC_VER) || defined(__CUDACC__)
   return detail::constexpr_strlen_internal(s, 0);
 #else
   return std::strlen(s);
index 66198ee85df330d0f616df0ba3847f0bff878388..741aaf3a896c30965ca4e085e835b8e6121377fd 100644 (file)
@@ -1095,10 +1095,10 @@ private:
     value_type* heap() noexcept {
       if (kHasInlineCapacity || !detail::pointerFlagGet(pdata_.heap_)) {
         return static_cast<value_type*>(pdata_.heap_);
+      } else {
+        return static_cast<value_type*>(detail::shiftPointer(
+            detail::pointerFlagClear(pdata_.heap_), kHeapifyCapacitySize));
       }
-      return static_cast<value_type*>(
-        detail::shiftPointer(
-          detail::pointerFlagClear(pdata_.heap_), kHeapifyCapacitySize));
     }
     value_type const* heap() const noexcept {
       return const_cast<Data*>(this)->heap();