From cba66200659c9aa14ec40bcdda4f6ac906500aca Mon Sep 17 00:00:00 2001 From: ian Date: Sat, 5 Nov 2016 00:21:33 +0000 Subject: [PATCH] PR go/78172. libgo: avoid confusion in upcase_fields in mksysinfo.sh The mksysinfo.sh script could get confused when there were 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. Reviewed-on: https://go-review.googlesource.com/32821 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241868 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/go/gofrontend/MERGE | 2 +- libgo/mksysinfo.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 7868369e15177..9049bc37476f2 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh index 3640476a434d7..ec2224db2b4e3 100755 --- a/libgo/mksysinfo.sh +++ b/libgo/mksysinfo.sh @@ -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