From 5a40209ae92c09d6c13875e5ce162cab5456c540 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Tue, 25 Jul 2017 23:45:53 -0700 Subject: [PATCH] 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 --- folly/portability/Constexpr.h | 2 +- folly/small_vector.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) 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(); -- 2.34.1