diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch deleted file mode 100644 index d736f012b..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/files/0001-flatbuffers-Move-EndianSwap-template-to-flatbuffers-.patch +++ /dev/null @@ -1,113 +0,0 @@ -From a614d8e20fa9e4fd16b699d581ddac2956c120f5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 19 Sep 2017 10:04:02 -0700 -Subject: [PATCH 1/2] flatbuffers: Move EndianSwap template to - flatbuffers/base.h - -Clang complains -call to function 'EndianSwap' that is neither visible in the template definition nor found by argument-dependent lookup - return EndianSwap(t); - -This seems to be due to limitation of two-phase lookup of dependent names in template definitions - -Its not being found using associated namespaces therefore -it has to be made visible at the template definition site as well - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - include/flatbuffers/base.h | 33 +++++++++++++++++++++++++++++++++ - include/flatbuffers/flatbuffers.h | 32 -------------------------------- - 2 files changed, 33 insertions(+), 32 deletions(-) - -diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h -index f051755..c73fb2d 100644 ---- a/include/flatbuffers/base.h -+++ b/include/flatbuffers/base.h -@@ -150,6 +150,39 @@ typedef uintmax_t largest_scalar_t; - // We support aligning the contents of buffers up to this size. - #define FLATBUFFERS_MAX_ALIGNMENT 16 - -+template<typename T> T EndianSwap(T t) { -+ #if defined(_MSC_VER) -+ #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort -+ #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong -+ #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 -+ #else -+ #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 -+ // __builtin_bswap16 was missing prior to GCC 4.8. -+ #define FLATBUFFERS_BYTESWAP16(x) \ -+ static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) -+ #else -+ #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 -+ #endif -+ #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 -+ #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 -+ #endif -+ if (sizeof(T) == 1) { // Compile-time if-then's. -+ return t; -+ } else if (sizeof(T) == 2) { -+ auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else if (sizeof(T) == 4) { -+ auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else if (sizeof(T) == 8) { -+ auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); -+ return *reinterpret_cast<T *>(&r); -+ } else { -+ assert(0); -+ } -+} -+ -+ - template<typename T> T EndianScalar(T t) { - #if FLATBUFFERS_LITTLEENDIAN - return t; -diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h -index 9216cf4..f749dcb 100644 ---- a/include/flatbuffers/flatbuffers.h -+++ b/include/flatbuffers/flatbuffers.h -@@ -37,38 +37,6 @@ inline void EndianCheck() { - (void)endiantest; - } - --template<typename T> T EndianSwap(T t) { -- #if defined(_MSC_VER) -- #define FLATBUFFERS_BYTESWAP16 _byteswap_ushort -- #define FLATBUFFERS_BYTESWAP32 _byteswap_ulong -- #define FLATBUFFERS_BYTESWAP64 _byteswap_uint64 -- #else -- #if defined(__GNUC__) && __GNUC__ * 100 + __GNUC_MINOR__ < 408 -- // __builtin_bswap16 was missing prior to GCC 4.8. -- #define FLATBUFFERS_BYTESWAP16(x) \ -- static_cast<uint16_t>(__builtin_bswap32(static_cast<uint32_t>(x) << 16)) -- #else -- #define FLATBUFFERS_BYTESWAP16 __builtin_bswap16 -- #endif -- #define FLATBUFFERS_BYTESWAP32 __builtin_bswap32 -- #define FLATBUFFERS_BYTESWAP64 __builtin_bswap64 -- #endif -- if (sizeof(T) == 1) { // Compile-time if-then's. -- return t; -- } else if (sizeof(T) == 2) { -- auto r = FLATBUFFERS_BYTESWAP16(*reinterpret_cast<uint16_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else if (sizeof(T) == 4) { -- auto r = FLATBUFFERS_BYTESWAP32(*reinterpret_cast<uint32_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else if (sizeof(T) == 8) { -- auto r = FLATBUFFERS_BYTESWAP64(*reinterpret_cast<uint64_t *>(&t)); -- return *reinterpret_cast<T *>(&r); -- } else { -- assert(0); -- } --} -- - template<typename T> FLATBUFFERS_CONSTEXPR size_t AlignOf() { - #ifdef _MSC_VER - return __alignof(T); --- -2.14.1 - |