From: Christopher Dykes Date: Mon, 18 Jul 2016 16:58:00 +0000 (-0700) Subject: Always pack small_vector X-Git-Tag: 2016.07.26~36 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=71b5c88168380fc8c93683bd153e16d34e654e8c;p=folly.git Always pack small_vector Summary: The check was overly restrictive, the conditional packing was originally used to limit it to GCC only (as it used the `__attribute__` directly), but that restriction is no longer needed as `FOLLY_PACK_*` will be defined appropriately for whatever platform we are currently on. This just switches it to unconditionally use the `FOLLY_PACK_*` macros rather than defining it's own `FB_PACK_*` macros. See https://github.com/facebook/folly/commit/aafd8ff9151615a8de09682d41d1c29966e4c8fe for where the `FB_PACK_*` macros could originally have been removed. Reviewed By: yfeldblum Differential Revision: D3373779 fbshipit-source-id: 9e41b0836f8ba12de4f37aba58c51f841be08b41 --- diff --git a/folly/small_vector.h b/folly/small_vector.h index 827cf687..042961bc 100644 --- a/folly/small_vector.h +++ b/folly/small_vector.h @@ -46,20 +46,10 @@ #include #include #include +#include #include #include -#if defined(__GNUC__) && (FOLLY_X64 || FOLLY_PPC64) -# include -# define FB_PACK_ATTR FOLLY_PACK_ATTR -# define FB_PACK_PUSH FOLLY_PACK_PUSH -# define FB_PACK_POP FOLLY_PACK_POP -#else -# define FB_PACK_ATTR -# define FB_PACK_PUSH -# define FB_PACK_POP -#endif - // Ignore shadowing warnings within this file, so includers can use -Wshadow. #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wshadow" @@ -333,7 +323,7 @@ namespace detail { } ////////////////////////////////////////////////////////////////////// -FB_PACK_PUSH +FOLLY_PACK_PUSH template( detail::pointerFlagClear(heap_)); } - } FB_PACK_ATTR; + } FOLLY_PACK_ATTR; #if (FOLLY_X64 || FOLLY_PPC64) typedef unsigned char InlineStorageType[sizeof(value_type) * MaxInline]; @@ -1114,9 +1104,9 @@ private: auto vp = detail::pointerFlagClear(pdata_.heap_); free(vp); } - } FB_PACK_ATTR u; -} FB_PACK_ATTR; -FB_PACK_POP + } FOLLY_PACK_ATTR u; +} FOLLY_PACK_ATTR; +FOLLY_PACK_POP ////////////////////////////////////////////////////////////////////// @@ -1143,9 +1133,3 @@ struct IndexableTraits> } // namespace folly #pragma GCC diagnostic pop - -#ifdef FB_PACK_ATTR -# undef FB_PACK_ATTR -# undef FB_PACK_PUSH -# undef FB_PACK_POP -#endif