From 4677fc349ce759069c9dc8f099a72e77651f1f7b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 29 May 2019 13:00:26 -0700 Subject: [PATCH] Port AC_C_BIGENDIAN to recent clang Problem and trivial patch reported by Matthieu Gautier in: https://lists.gnu.org/r/bug-autoconf/2019-05/msg00006.html * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Use unsigned short for values greater than 2**15 - 1. --- lib/autoconf/c.m4 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index 42c6ac1b..9096b5cc 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 @@ -1648,16 +1648,16 @@ AC_DEFUN([AC_C_BIGENDIAN], [# Try to guess by grepping values from an object file. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[short int ascii_mm[] = + [[unsigned short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = + unsigned short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } - short int ebcdic_ii[] = + unsigned short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = + unsigned short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; -- 2.47.2