Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 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 " end" >> tmp$$.f90 |
| 11 | if $compile -c tmp$$.f90 > /dev/null 2>&1; then |
| 12 | kinds="$kinds $k" |
| 13 | c=`expr $c + 1` |
| 14 | fi |
| 15 | rm -f tmp$$.* |
| 16 | done |
| 17 | |
| 18 | echo " integer, parameter :: c = $c" |
| 19 | echo " type (real_info), parameter :: real_infos(c) = (/ &" |
| 20 | |
| 21 | i=0 |
| 22 | for k in $kinds; do |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame^] | 23 | # echo -n is not portable |
| 24 | str=" real_info ($k, precision(0.0_$k), range(0.0_$k))" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 25 | i=`expr $i + 1` |
| 26 | if [ $i -lt $c ]; then |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame^] | 27 | echo "$str, &" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 28 | else |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame^] | 29 | echo "$str /)" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 30 | fi |
| 31 | done |
| 32 | |
| 33 | exit 0 |