diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 121d471c3dc..0c31d728715 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,7 @@ +2010-08-28 Tobias Burnus + + * mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available. + 2010-08-27 Tobias Burnus PR fortran/33197 diff --git a/libgfortran/mk-kinds-h.sh b/libgfortran/mk-kinds-h.sh index a16f9850254..0b8dbc5f94f 100755 --- a/libgfortran/mk-kinds-h.sh +++ b/libgfortran/mk-kinds-h.sh @@ -44,6 +44,7 @@ echo "#define GFC_UINTEGER_LARGEST GFC_UINTEGER_${largest}" echo "#define GFC_DEFAULT_CHAR ${smallest}" echo "" +REAL_10_FOUND= for k in $possible_real_kinds; do echo " real (kind=$k) :: x" > tmp$$.f90 @@ -53,8 +54,15 @@ for k in $possible_real_kinds; do case $k in 4) ctype="float" ; suffix="f" ;; 8) ctype="double" ; suffix="" ;; - 10) ctype="long double" ; suffix="l" ;; - 16) ctype="long double" ; suffix="l" ;; + 10) ctype="long double" ; suffix="l" ; REAL_10_FOUND=1 ;; + 16) ctype="long double" + suffix="l" + # Disable REAL(16) if it is just __float128 + # until the library is fixed + if [ -n "$REAL_10_FOUND" ]; then + continue + fi + ;; *) echo "$0: Unknown type" >&2 ; exit 1 ;; esac