From: Yangqing Jia Date: Wed, 26 Jul 2017 06:45:53 +0000 (-0700) Subject: folly: changes to make nvcc happy X-Git-Tag: v2017.07.31.00~30 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5a40209ae92c09d6c13875e5ce162cab5456c540;p=folly.git folly: changes to make nvcc happy 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 --- diff --git a/folly/portability/Constexpr.h b/folly/portability/Constexpr.h index 4d99b621..0b5c5a1a 100644 --- a/folly/portability/Constexpr.h +++ b/folly/portability/Constexpr.h @@ -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); diff --git a/folly/small_vector.h b/folly/small_vector.h index 66198ee8..741aaf3a 100644 --- a/folly/small_vector.h +++ b/folly/small_vector.h @@ -1095,10 +1095,10 @@ private: value_type* heap() noexcept { if (kHasInlineCapacity || !detail::pointerFlagGet(pdata_.heap_)) { return static_cast(pdata_.heap_); + } else { + return static_cast(detail::shiftPointer( + detail::pointerFlagClear(pdata_.heap_), kHeapifyCapacitySize)); } - return static_cast( - detail::shiftPointer( - detail::pointerFlagClear(pdata_.heap_), kHeapifyCapacitySize)); } value_type const* heap() const noexcept { return const_cast(this)->heap();