annotate libgo/mkruntimeinc.sh @ 143:76e1cf5455ef

add cbc_gc test
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 19:24:05 +0900
parents 84e7813d76e9
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 #!/bin/sh
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 # Copyright 2018 The Go Authors. All rights reserved.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 # Use of this source code is governed by a BSD-style
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 # license that can be found in the LICENSE file.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 # Create tmp-runtime.inc from runtime.inc.raw.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 IN=runtime.inc.raw
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 OUT=tmp-runtime.inc
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 rm -f runtime.inc.tmp2 runtime.inc.tmp3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 # _Complex_lock and _Reader_lock are Go translations of some AIX system
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 # types and should not be exported back to C
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 # semt is a Go translation of the C type sem_t; it fails to convert on
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 # some systems and need not be exported back to C.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 # sigset conflicts with system type sigset on AIX, so we need to rename it
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 grep -v "#define _" ${IN} | grep -v "#define [cm][01234] " | grep -v "#define empty " | grep -v "#define \\$" > runtime.inc.tmp2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 do
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 grep "#define $pattern" ${IN} >> runtime.inc.tmp2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 done
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 TYPES="_Complex_lock _Reader_lock semt"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 for TYPE in $TYPES
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 do
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 sed -e '/struct '${TYPE}' {/,/^}/s/^.*$//' runtime.inc.tmp2 > runtime.inc.tmp3;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 mv runtime.inc.tmp3 runtime.inc.tmp2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 done
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 sed -e 's/sigset/sigset_go/' runtime.inc.tmp2 > ${OUT}
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 rm -f runtime.inc.tmp2 runtime.inc.tmp3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 exit 0