From c95ca9f21a3524718a83c3415bb7102a508154be Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Tue, 1 Aug 2017 00:54:13 +0200
Subject: [PATCH] remove duplicated "IsLittleEndian" helper (already exists in
 ModuleSetupCode.c now)

---
 Cython/Compiler/Buffer.py        | 3 ++-
 Cython/Utility/Buffer.c          | 9 ++-------
 Cython/Utility/ModuleSetupCode.c | 4 ++--
 3 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/Cython/Compiler/Buffer.py b/Cython/Compiler/Buffer.py
index 2c14c539a..1f361d23d 100644
--- a/Cython/Compiler/Buffer.py
+++ b/Cython/Compiler/Buffer.py
@@ -738,7 +738,8 @@ buffer_structs_code = load_buffer_utility(
         "BufferFormatStructs", proto_block='utility_code_proto_before_types')
 acquire_utility_code = load_buffer_utility("BufferFormatCheck",
                                            context=context,
-                                           requires=[buffer_structs_code])
+                                           requires=[buffer_structs_code,
+                                                     UtilityCode.load_cached("IsLittleEndian", "ModuleSetupCode.c")])
 
 # See utility code BufferFormatFromTypeInfo
 _typeinfo_to_format_code = load_buffer_utility("TypeInfoToFormat", context={},
diff --git a/Cython/Utility/Buffer.c b/Cython/Utility/Buffer.c
index bea311c63..4814c236a 100644
--- a/Cython/Utility/Buffer.c
+++ b/Cython/Utility/Buffer.c
@@ -166,11 +166,6 @@ static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
 
 
 /////////////// BufferFormatCheck ///////////////
-static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {
-  unsigned int n = 1;
-  return *(unsigned char*)(&n) != 0;
-}
-
 
 static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                               __Pyx_BufFmt_StackElem* stack,
@@ -611,7 +606,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
         ++ts;
         break;
       case '<':
-        if (!__Pyx_IsLittleEndian()) {
+        if (!__Pyx_Is_Little_Endian()) {
           PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
           return NULL;
         }
@@ -620,7 +615,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
         break;
       case '>':
       case '!':
-        if (__Pyx_IsLittleEndian()) {
+        if (__Pyx_Is_Little_Endian()) {
           PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
           return NULL;
         }
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c
index 77ea59c08..2b6827b68 100644
--- a/Cython/Utility/ModuleSetupCode.c
+++ b/Cython/Utility/ModuleSetupCode.c
@@ -720,11 +720,11 @@ static int __Pyx_check_binary_version(void) {
 
 /////////////// IsLittleEndian.proto ///////////////
 
-static int __Pyx_Is_Little_Endian(void);
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);
 
 /////////////// IsLittleEndian ///////////////
 
-static int __Pyx_Is_Little_Endian(void)
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
 {
   union {
     uint32_t u32;
-- 
2.30.9