Mercurial > hg > CbC > CbC_gcc
diff gcc/config/vms/make-crtlmap.awk @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/config/vms/make-crtlmap.awk Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,55 @@ +# Generate the VMS crtl map +# Copyright (C) 2011-2017 Free Software Foundation, Inc. + +BEGIN { + is_first = 1; + maxlen=1; + maxlen_name="??" + prev="" + ORS="" +} + +# Remove comment and blank lines. +/^ *#/ || /^ *$/ { + next; +} + +{ + # Handle comma + if (!is_first) + print ",\n" + else + is_first = 0; + + # Check the map is sorted + if ($0 <= prev) + { + print "Map not sorted!! (with name " $0 ")\n" + exit 1 + } + prev = $0 + + # Compute the max of the identifier len. + l=length($1) + if (l > maxlen) + { + maxlen = l + maxlen_name = $1 + } + + print "{ \"" $1 "\", " + if (NF == 1) + print "0 }" + else + { + printf "VMS_CRTL_" $2 + for (i = 3; i <= NF; i++) + printf " | VMS_CRTL_" $i + printf " }" + } +} + +END { + print "\n\n" + print "#define VMS_CRTL_MAXLEN " maxlen " /*" maxlen_name " */\n" +}