libgo patch committed: avoid confusion matching type names in mksysinfo
Ian Lance Taylor
iant@golang.org
Sat Nov 5 00:21:00 GMT 2016
This patch to the script libgo/mksysinfo.sh tries to avoid confusion
in upcase_fields when matching type names. It could accidentally
match multiple types starting with the same name. I believe this is
the underlying
cause of GCC PR 78172.
Also redirect a grep to /dev/null to avoid extraneous messages during
the build.
Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed
to mainline.
Ian
-------------- next part --------------
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE (revision 241757)
+++ gcc/go/gofrontend/MERGE (working copy)
@@ -1,4 +1,4 @@
-150bca67d8bb4b23009f53ba06e85e306e3960d8
+afe0456d25e3c6c0d91a8fd4c0fdfdbaa35cc251
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
Index: libgo/mksysinfo.sh
===================================================================
--- libgo/mksysinfo.sh (revision 241347)
+++ libgo/mksysinfo.sh (working copy)
@@ -188,7 +188,7 @@ grep '^const _EPOLL' gen-sysinfo.go |
grep -v EPOLLET |
sed -e 's/^\(const \)_\(EPOLL[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
# Make sure EPOLLET is positive.
-if grep '^const _EPOLLET = [0-9]' gen-sysinfo.go; then
+if grep '^const _EPOLLET = [0-9]' gen-sysinfo.go >/dev/null 2>&1; then
grep '^const _EPOLLET ' gen-sysinfo.go |
sed -e 's/^\(const \)_\(EPOLL[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
else
@@ -268,7 +268,7 @@ fi
# is not empty, the structure or type is renamed to $2.
upcase_fields () {
name="$1"
- def=`grep "^type $name" gen-sysinfo.go`
+ def=`grep "^type $name " gen-sysinfo.go`
fields=`echo $def | sed -e 's/^[^{]*{\(.*\)}$/\1/'`
prefix=`echo $def | sed -e 's/{.*//'`
if test "$2" != ""; then
More information about the Gcc-patches
mailing list