summaryrefslogtreecommitdiff
path: root/libgfortran/mk-kinds-h.sh
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-08-28 09:35:47 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2010-08-28 09:35:47 +0200
commite4ff7a56c6f81d3ed516333309bc960fa2d4979f (patch)
tree0907ce87539b9d7227ed45e9ef70e00aa6b2370d /libgfortran/mk-kinds-h.sh
parente84f122fcc9e8757a28e687b5d16050cd945fbc0 (diff)
mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available.
2010-08-28 Tobias Burnus <burnus@net-b.de> * mk-kinds-h.sh: Disable REAL(16) if REAL(10) is available. From-SVN: r163612
Diffstat (limited to 'libgfortran/mk-kinds-h.sh')
-rwxr-xr-xlibgfortran/mk-kinds-h.sh12
1 files changed, 10 insertions, 2 deletions
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