summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-06-17 16:52:49 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-06-17 16:52:49 (GMT)
commit3256437a00df1ad3ed134fc257e98a465eefdddb (patch)
tree0e2b10d32db32fc9d578b10f1b0556411b3e5ed3
parent2962171a1c664f6e648cea6129a821572c6f2ba6 (diff)
downloadhdf5-3256437a00df1ad3ed134fc257e98a465eefdddb.zip
hdf5-3256437a00df1ad3ed134fc257e98a465eefdddb.tar.gz
hdf5-3256437a00df1ad3ed134fc257e98a465eefdddb.tar.bz2
[svn-r27228] restricted __float128 to gnu compilers
-rwxr-xr-xconfigure36
-rw-r--r--src/H5config.h.in3
2 files changed, 38 insertions, 1 deletions
diff --git a/configure b/configure
index 31a20bb..6dcabac 100755
--- a/configure
+++ b/configure
@@ -5636,6 +5636,39 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of _Quad" >&5
+$as_echo_n "checking size of _Quad... " >&6; }
+if ${ac_cv_sizeof__Quad+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Quad))" "ac_cv_sizeof__Quad" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type__Quad" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (_Quad)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof__Quad=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Quad" >&5
+$as_echo "$ac_cv_sizeof__Quad" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF__QUAD $ac_cv_sizeof__Quad
+_ACEOF
+
+
HAVE_FLOAT128=0
HAVE_QUADMATH=0
for ac_header in quadmath.h
@@ -5715,7 +5748,8 @@ fi
-## __float seems to work for __float128, but it should be _Quad type instead
+## __float128 seems to work intel compilers, but it should be _Quad type instead
+
if test "$ac_cv_sizeof___float128" != 0 && test "$cc_vendor" = "gcc"; then
## Check if __float128 and c_long_double are the same size and precision
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 4a4b6e0..02dc75d 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -566,6 +566,9 @@
/* The size of `unsigned', as computed by sizeof. */
#undef SIZEOF_UNSIGNED
+/* The size of `_Quad', as computed by sizeof. */
+#undef SIZEOF__QUAD
+
/* The size of `__float128', as computed by sizeof. */
#undef SIZEOF___FLOAT128