Home | History | Annotate | Line # | Download | only in libgfortran
      1 #!/bin/sh
      2 
      3 if test "$#" -ne 2; then
      4   echo "Usage $0 int_kinds compile"
      5   exit 1
      6 fi
      7 
      8 # Possible kinds must be listed in ascending order
      9 possible_integer_kinds="$1"
     10 compile="$2"
     11 
     12 kinds=""
     13 c=0
     14 
     15 for k in $possible_integer_kinds; do
     16   echo "  integer (kind=$k) :: x" > tmp$$.f90
     17   echo "  x = 1_$k" >> tmp$$.f90
     18   echo "  end" >> tmp$$.f90
     19   if $compile -S tmp$$.f90 > /dev/null 2>&1; then
     20     kinds="$kinds $k"
     21     c=`expr $c + 1`
     22   fi
     23   rm -f tmp$$.*
     24 done
     25 
     26 echo "  integer, parameter :: c = $c"
     27 echo "  type (int_info), parameter :: int_infos(c) = (/ &"
     28 
     29 i=0
     30 for k in $kinds; do
     31   # echo -n is not portable
     32   str="    int_info ($k, range(0_$k))"
     33   i=`expr $i + 1`
     34   if [ $i -lt $c ]; then
     35     echo "$str, &"
     36   else
     37     echo "$str /)"
     38   fi
     39 done
     40 
     41 exit 0
     42