1*760c2415Smrg#!/bin/sh 2*760c2415Smrg 3*760c2415Smrgcompile="$1" 4*760c2415Smrgkinds="" 5*760c2415Smrgpossible_kinds="1 2 4 8 16" 6*760c2415Smrgc=0 7*760c2415Smrg 8*760c2415Smrgfor k in $possible_kinds; do 9*760c2415Smrg echo " integer (kind=$k) :: x" > tmp$$.f90 10*760c2415Smrg echo " x = 1_$k" >> tmp$$.f90 11*760c2415Smrg echo " end" >> tmp$$.f90 12*760c2415Smrg if $compile -S tmp$$.f90 > /dev/null 2>&1; then 13*760c2415Smrg kinds="$kinds $k" 14*760c2415Smrg c=`expr $c + 1` 15*760c2415Smrg fi 16*760c2415Smrg rm -f tmp$$.* 17*760c2415Smrgdone 18*760c2415Smrg 19*760c2415Smrgecho " integer, parameter :: c = $c" 20*760c2415Smrgecho " type (int_info), parameter :: int_infos(c) = (/ &" 21*760c2415Smrg 22*760c2415Smrgi=0 23*760c2415Smrgfor k in $kinds; do 24*760c2415Smrg # echo -n is not portable 25*760c2415Smrg str=" int_info ($k, range(0_$k))" 26*760c2415Smrg i=`expr $i + 1` 27*760c2415Smrg if [ $i -lt $c ]; then 28*760c2415Smrg echo "$str, &" 29*760c2415Smrg else 30*760c2415Smrg echo "$str /)" 31*760c2415Smrg fi 32*760c2415Smrgdone 33*760c2415Smrg 34*760c2415Smrgexit 0 35