diff libgfortran/mk-srk-inc.sh @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgfortran/mk-srk-inc.sh	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+compile="$1"
+kinds=""
+possible_kinds="4 8 10 16"
+c=0
+
+for k in $possible_kinds; do
+  echo "  real (kind=$k) :: x" > tmp$$.f90
+  echo "  x = 1.0_$k" >> tmp$$.f90
+  echo "  end" >> tmp$$.f90
+  if $compile -S tmp$$.f90 > /dev/null 2>&1; then
+    kinds="$kinds $k"
+    c=`expr $c + 1`
+  fi
+  rm -f tmp$$.*
+done
+
+echo "  integer, parameter :: c = $c"
+echo "  type (real_info), parameter :: real_infos(c) = (/ &"
+
+i=0
+for k in $kinds; do
+  # echo -n is not portable
+  str="    real_info ($k, precision(0.0_$k), range(0.0_$k), radix(0.0_$k))"
+  i=`expr $i + 1`
+  if [ $i -lt $c ]; then
+    echo "$str, &"
+  else
+    echo "$str /)"
+  fi
+done
+
+exit 0