Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Tobias Burnus | 2e764ae | 2020-07-26 07:20:24 +0200 | [diff] [blame] | 3 | if test "$#" -ne 2; then |
| 4 | echo "Usage $0 real_kinds compile" |
| 5 | exit 1 |
| 6 | fi |
| 7 | |
| 8 | # Possible kinds must be listed in ascending order |
| 9 | possible_real_kinds="$1" |
| 10 | compile="$2" |
| 11 | |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 12 | kinds="" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 13 | c=0 |
| 14 | |
Tobias Burnus | 2e764ae | 2020-07-26 07:20:24 +0200 | [diff] [blame] | 15 | for k in $possible_real_kinds; do |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 16 | echo " real (kind=$k) :: x" > tmp$$.f90 |
Tobias Burnus | 7666351 | 2008-09-10 19:18:08 +0200 | [diff] [blame] | 17 | echo " x = 1.0_$k" >> tmp$$.f90 |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 18 | echo " end" >> tmp$$.f90 |
Steven Bosscher | 4349e29 | 2008-01-16 09:13:39 +0000 | [diff] [blame] | 19 | if $compile -S tmp$$.f90 > /dev/null 2>&1; then |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 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 (real_info), parameter :: real_infos(c) = (/ &" |
| 28 | |
| 29 | i=0 |
| 30 | for k in $kinds; do |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame] | 31 | # echo -n is not portable |
Tobias Burnus | 0134904 | 2010-06-25 21:40:37 +0200 | [diff] [blame] | 32 | str=" real_info ($k, precision(0.0_$k), range(0.0_$k), radix(0.0_$k))" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 33 | i=`expr $i + 1` |
| 34 | if [ $i -lt $c ]; then |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame] | 35 | echo "$str, &" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 36 | else |
Eric Botcazou | 130abd1 | 2004-09-01 19:51:42 +0200 | [diff] [blame] | 37 | echo "$str /)" |
Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame] | 38 | fi |
| 39 | done |
| 40 | |
| 41 | exit 0 |