From 7cb55dd05270a5c6df2e492c14490bc2ddd4dc41 Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Tue, 4 May 2010 11:35:11 -0500 Subject: [svn-r18696] I added a macro definition if the system is Cygwin in configure.in. This macro is used to skip the data conversion test from unsigned long long to long double. The GCC on Cygwin seems to have rounding problem when doing conversion from unsigned long long to long double (Please bug #1813). Tested on jam. I'll test it on Cygwin after this checkin. --- configure | 55 +++++++++++++++++++++++++++++-------------------------- configure.in | 1 + src/H5config.h.in | 3 +++ test/dt_arith.c | 6 +++--- 4 files changed, 36 insertions(+), 29 deletions(-) diff --git a/configure b/configure index 6d7bc6c..82b76bf 100755 --- a/configure +++ b/configure @@ -7627,6 +7627,9 @@ fi case "`uname`" in CYGWIN*) + +$as_echo "#define CYGWIN 1" >>confdefs.h + if test "X${enable_shared}" = "Xyes"; then echo ' warning: shared libraries are not supported on Cygwin!' echo ' disabling shared libraries' @@ -8245,13 +8248,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:8248: $ac_compile\"" >&5) + (eval echo "\"\$as_me:8251: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:8251: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:8254: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:8254: output\"" >&5) + (eval echo "\"\$as_me:8257: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -9456,7 +9459,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 9459 "configure"' > conftest.$ac_ext + echo '#line 9462 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -11776,11 +11779,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11779: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11782: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11783: \$? = $ac_status" >&5 + echo "$as_me:11786: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12115,11 +12118,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12118: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12121: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12122: \$? = $ac_status" >&5 + echo "$as_me:12125: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12220,11 +12223,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12223: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12226: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12227: \$? = $ac_status" >&5 + echo "$as_me:12230: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12275,11 +12278,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12278: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12281: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12282: \$? = $ac_status" >&5 + echo "$as_me:12285: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14706,7 +14709,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 14709 "configure" +#line 14712 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14802,7 +14805,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 14805 "configure" +#line 14808 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16774,11 +16777,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16777: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16780: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16781: \$? = $ac_status" >&5 + echo "$as_me:16784: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16873,11 +16876,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16876: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16879: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16880: \$? = $ac_status" >&5 + echo "$as_me:16883: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16925,11 +16928,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16928: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16931: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16932: \$? = $ac_status" >&5 + echo "$as_me:16935: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18442,11 +18445,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18445: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18448: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:18449: \$? = $ac_status" >&5 + echo "$as_me:18452: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -18541,11 +18544,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18544: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18547: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18548: \$? = $ac_status" >&5 + echo "$as_me:18551: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18593,11 +18596,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:18596: $lt_compile\"" >&5) + (eval echo "\"\$as_me:18599: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:18600: \$? = $ac_status" >&5 + echo "$as_me:18603: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized diff --git a/configure.in b/configure.in index 29118b4..605ba6c 100644 --- a/configure.in +++ b/configure.in @@ -961,6 +961,7 @@ dnl ---------------------------------------------------------------------- dnl Shared libraries are not currently supported under Cygwin. case "`uname`" in CYGWIN*) + AC_DEFINE([CYGWIN], [1], [Define a macro for Cygwin system]) if test "X${enable_shared}" = "Xyes"; then echo ' warning: shared libraries are not supported on Cygwin!' echo ' disabling shared libraries' diff --git a/src/H5config.h.in b/src/H5config.h.in index 8210f38..08b51b3 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -17,6 +17,9 @@ /* Define if C++ compiler recognizes offsetof */ #undef CXX_HAVE_OFFSETOF +/* Define a macro for Cygwin system */ +#undef CYGWIN + /* Define the default virtual file driver to compile */ #undef DEFAULT_VFD diff --git a/test/dt_arith.c b/test/dt_arith.c index 78a05be..7e7b043 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -4947,9 +4947,9 @@ run_int_fp_conv(const char *name) HDputs(" Test skipped due to compiler error in handling conversion."); } #endif /* H5_LLONG_TO_LDOUBLE_CORRECT */ -#if H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT +#if !H5_CYGWIN && H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_LDOUBLE); -#else /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */ +#else /* !H5_CYGWIN && H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */ { char str[256]; /*hello string */ @@ -4959,7 +4959,7 @@ run_int_fp_conv(const char *name) SKIPPED(); HDputs(" Test skipped due to compiler not handling conversion."); } -#endif /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */ +#endif /* !H5_CYGWIN && H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */ #endif #endif #else /*H5_INTEGER_TO_LDOUBLE_ACCURATE*/ -- cgit v0.12