Commit 71b5c881 authored by Christopher Dykes's avatar Christopher Dykes Committed by Facebook Github Bot 3

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
parent 9c4ce90b
......@@ -46,20 +46,10 @@
#include <folly/FormatTraits.h>
#include <folly/Malloc.h>
#include <folly/Portability.h>
#include <folly/SmallLocks.h>
#include <folly/portability/Constexpr.h>
#include <folly/portability/Malloc.h>
#if defined(__GNUC__) && (FOLLY_X64 || FOLLY_PPC64)
# include <folly/SmallLocks.h>
# 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<class Value,
std::size_t RequestedMaxInline = 1,
class PolicyA = void,
......@@ -1033,7 +1023,7 @@ private:
InternalSizeType* getCapacity() {
return &capacity_;
}
} FB_PACK_ATTR;
} FOLLY_PACK_ATTR;
struct HeapPtr {
// Lower order bit of heap_ is used as flag to indicate whether capacity is
......@@ -1045,7 +1035,7 @@ private:
return static_cast<InternalSizeType*>(
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<small_vector<T, M, A, B, C>>
} // namespace folly
#pragma GCC diagnostic pop
#ifdef FB_PACK_ATTR
# undef FB_PACK_ATTR
# undef FB_PACK_PUSH
# undef FB_PACK_POP
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment