OSDN Git Service

PR 43839
[pf3gnuchains/gcc-fork.git] / libgfortran / mk-srk-inc.sh
1 #!/bin/sh
2
3 compile="$1"
4 kinds=""
5 possible_kinds="4 8 10 16"
6 c=0
7
8 for k in $possible_kinds; do
9   echo "  real (kind=$k) :: x" > tmp$$.f90
10   echo "  x = 1.0_$k" >> tmp$$.f90
11   echo "  end" >> tmp$$.f90
12   if $compile -S tmp$$.f90 > /dev/null 2>&1; then
13     kinds="$kinds $k"
14     c=`expr $c + 1`
15   fi
16   rm -f tmp$$.*
17 done
18
19 echo "  integer, parameter :: c = $c"
20 echo "  type (real_info), parameter :: real_infos(c) = (/ &"
21
22 i=0
23 for k in $kinds; do
24   # echo -n is not portable
25   str="    real_info ($k, precision(0.0_$k), range(0.0_$k))"
26   i=`expr $i + 1`
27   if [ $i -lt $c ]; then
28     echo "$str, &"
29   else
30     echo "$str /)"
31   fi
32 done
33
34 exit 0