diff options
Diffstat (limited to 'libgfortran/mk-sik-inc.sh')
-rwxr-xr-x | libgfortran/mk-sik-inc.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libgfortran/mk-sik-inc.sh b/libgfortran/mk-sik-inc.sh new file mode 100755 index 00000000000..536eda70c88 --- /dev/null +++ b/libgfortran/mk-sik-inc.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +compile="$1" +kinds="" +possible_kinds="1 2 4 8 16" +c=0 + +for k in $possible_kinds; do + echo " integer (kind=$k) :: x" > tmp$$.f90 + echo " end" >> tmp$$.f90 + if $compile -c tmp$$.f90 > /dev/null 2>&1; then + kinds="$kinds $k" + c=`expr $c + 1` + fi + rm -f tmp$$.* +done + +echo " integer, parameter :: c = $c" +echo " type (int_info), parameter :: int_infos(c) = (/ &" + +i=0 +for k in $kinds; do + echo -n " int_info ($k, range(0_$k))" + i=`expr $i + 1` + if [ $i -lt $c ]; then + echo ", &" + else + echo " /)" + fi +done + +exit 0 |