Hi,

AC_C_BIGENDIAN does a narrowing conversion when trying to detect the endianness. On recent compilarer/toolchains (ie android-ndk with clang) this is detected as an error and it doesn't compile.

The attached patch fix this.

Regards,
Matthieu Gautier.

--
Matthieu Gautier
Freelance developer
Membre du collectif d'indépendants Kymeria.
Membre de la coopérative d'activités Elycoop.
Tel: +33 (0)6 51 37 40 15
Mail : mgaut...@kymeria.fr

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];

Reply via email to