summaryrefslogtreecommitdiff
path: root/m4/isnan.m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-02-25 01:57:58 +0000
committerBruno Haible <bruno@clisp.org>2007-02-25 01:57:58 +0000
commitce30cc7716b6d57bcfd7fe2f7485baa0df99b091 (patch)
tree8933b53e1bb6fcd65d7be42112e8ceb9061aa680 /m4/isnan.m4
parent8ef21c84cb967cac464a1b4adf78828971eac188 (diff)
downloadgnulib-ce30cc7716b6d57bcfd7fe2f7485baa0df99b091.tar.gz
Correct handling of ARM when cross-compiling.
Diffstat (limited to 'm4/isnan.m4')
-rw-r--r--m4/isnan.m49
1 files changed, 6 insertions, 3 deletions
diff --git a/m4/isnan.m4 b/m4/isnan.m4
index f065a5010a..5bb133d0dc 100644
--- a/m4/isnan.m4
+++ b/m4/isnan.m4
@@ -92,14 +92,17 @@ int main ()
[gl_cv_cc_double_expbit0=`cat conftest.out`],
[gl_cv_cc_double_expbit0="unknown"],
[
- dnl On ARM, integer types are stored in little-endian byte order,
- dnl but floats are stored in big-endian word order.
+ dnl On ARM, there are two 'double' floating-point formats, used by
+ dnl different sets of instructions: The older FPA instructions assume
+ dnl that they are stored in big-endian word order, while the words
+ dnl (like integer types) are stored in little-endian byte order.
+ dnl The newer VFP instructions assume little-endian order consistenly.
AC_EGREP_CPP([mixed_endianness], [
#if defined arm || defined __arm || defined __arm__
mixed_endianness
#endif
],
- [gl_cv_cc_double_expbit0="word 0 bit 20"],
+ [gl_cv_cc_double_expbit0="unknown"],
[
AC_C_BIGENDIAN(
[gl_cv_cc_double_expbit0="word 0 bit 20"],