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