PR 81449 reports a libgo problem with the definition semt in
runtime.inc on some systems. Since the C code in libgo/runtime doesn't
need semt, just don't copy it into runtime.inc.  Bootstrapped and ran
Go testsuite on x86_64-pc-linux-gnu.  Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 250216)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-a77b1091fa83cfaf200e6dad26e92e42483bae43
+2ae6bf76f97f7d4c63a1f0ad0683b9ba62baaf06
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/Makefile.am
===================================================================
--- libgo/Makefile.am   (revision 249799)
+++ libgo/Makefile.am   (working copy)
@@ -543,6 +543,8 @@ s-sigtab: $(srcdir)/mksigtab.sh gen-sysi
 
 # _Complex_lock and _Reader_lock are Go translations of some AIX system
 # types and should not be exported back to C
+# semt is a Go translation of the C type sem_t; it fails to convert on
+# some systems and need not be exported back to C.
 # sigset conflicts with system type sigset on AIX, so we need to rename it
 runtime.inc: s-runtime-inc; @true
 s-runtime-inc: runtime.lo Makefile
@@ -551,7 +553,7 @@ s-runtime-inc: runtime.lo Makefile
        for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \
          grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \
        done
-       for TYPE in _Complex_lock _Reader_lock; do \
+       for TYPE in _Complex_lock _Reader_lock semt; do \
          sed -e '/struct '$${TYPE}' {/,/^}/s/^.*$$//' runtime.inc.tmp2 > 
runtime.inc.tmp3; \
          mv runtime.inc.tmp3 runtime.inc.tmp2; \
        done

Reply via email to