AC_C_BIGENDIAN narrowing short

Matthieu Gautier <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.bugs
Organization Kymeria
Message-ID <[email protected]>
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 : [email protected]
AC_C_BIGENDIAN_narrowing.patch (text/x-patch, 927 B)
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];
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.