Go patch committed: Fix initialization order

2014-11-18 Thread Ian Taylor
The Go frontend was slightly incorrect in the way that it handled the order of initialization (http://golang.org/issue/8052). Fortunately it rarely made a difference in real code. This patch by Chris Manghane fixes it. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-15 Thread Ian Taylor
On Thu, Nov 13, 2014 at 2:58 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: What do you think about the attached patches? They work for me, but I'm not sure whether the patch to go-test.exp is good because I know nothing about tcl. Looks plausible to me. Ian

Install llgo version of libgo under a different name

2014-11-14 Thread Ian Taylor
This patch from Peter Collingbourne installs libgo under a different name when it is built using llgo. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r ed47faa83681 libgo/Makefile.am --- a/libgo/Makefile.am Wed Nov 12 16:07:28 2014 -0800 +++

Go patch committed: Report unused packages correctly for ambiguous lookups

2014-11-12 Thread Ian Taylor
This patch from Chris Manghane fixes the Go frontend to correctly report unused packages when there are ambiguous lookups. Previously some cases involving composite literals could cause a package to be considered as used, when it was really not used. That is, in some cases, the compiler did not

libgo patch committed: Update libtool support

2014-11-11 Thread Ian Taylor
This patch to libgo updates the libtool support to that currently found in the gcc trunk. This includes a patch for support of OS X 10.10. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. This is Go issue 9089. Ian diff -r 1c308e945873

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-10 Thread Ian Taylor
On Mon, Nov 10, 2014 at 6:00 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: I'd still like to avoid the rampant duplication if possible. One approach would be to put most of the test in something like nilptr_tests.go marked with // skip. Then we can have top-level nilptrXX.go tests with

Re: [gofrontend-dev] Re: [PATCH 00/13] Go closures, libffi, and the static chain

2014-11-07 Thread Ian Taylor
On Thu, Nov 6, 2014 at 11:38 PM, Richard Henderson r...@redhat.com wrote: On 11/06/2014 06:45 PM, Ian Taylor wrote: On Thu, Nov 6, 2014 at 5:04 AM, Richard Henderson r...@redhat.com wrote: That said, this *may* not actually be a problem. It's not the direct (possibly lazy bound) call

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-07 Thread Ian Taylor
On Fri, Nov 7, 2014 at 12:51 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Thu, Nov 06, 2014 at 09:06:18AM -0800, Ian Taylor wrote: On Thu, Nov 6, 2014 at 4:04 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Tue, Nov 04, 2014 at 08:16:51PM -0800, Ian Taylor wrote: The way to do

Re: [gofrontend-dev] [PATCH 1/4] Gccgo port to s390[x] -- part II

2014-11-06 Thread Ian Taylor
On Thu, Nov 6, 2014 at 7:34 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Thu, Nov 06, 2014 at 03:02:13PM +0100, Rainer Orth wrote: Ian Taylor i...@golang.org writes: Committed patch 0001 with various formatting fixes, as attached. Unfortunately, the mksysinfo.sh part broke Solaris

Re: [gofrontend-dev] [PATCH 1/4] Gccgo port to s390[x] -- part II

2014-11-06 Thread Ian Taylor
On Wed, Nov 5, 2014 at 4:55 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Wed, Nov 05, 2014 at 11:31:28AM +0100, Dominik Vogt wrote: On Tue, Nov 04, 2014 at 02:39:34PM -0800, Ian Taylor wrote: Note that libgo/runtime/runtime.c now refers to S390_HAVE_STCKF. It's not obvious to me

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-06 Thread Ian Taylor
On Thu, Nov 6, 2014 at 4:04 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Tue, Nov 04, 2014 at 08:16:51PM -0800, Ian Taylor wrote: The way to do it is not by copying the test. If the test needs to be customized, add additional files that use // +build lines to pick which files is built

Re: [gofrontend-dev] Re: [PATCH 00/13] Go closures, libffi, and the static chain

2014-11-06 Thread Ian Taylor
On Thu, Nov 6, 2014 at 5:04 AM, Richard Henderson r...@redhat.com wrote: That said, this *may* not actually be a problem. It's not the direct (possibly lazy bound) call into libffi that needs a static chain, it's the indirect call that libffi produces. And the indirect calls that Go

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-05 Thread Ian Taylor
On Wed, Nov 5, 2014 at 2:05 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Tue, Nov 04, 2014 at 08:16:51PM -0800, Ian Taylor wrote: I committed the change to go-test.exp. Thanks. The other changes are not OK. As described in gcc/testsuite/go.test/test/README.gcc, the files in gcc

Go patch committed: untyped bool for logical operators

2014-11-04 Thread Ian Taylor
The Go language was tweaked to permit logical operators to return an untyped boolean value, which means that code like type myBool bool var b myBool = a b || c d is now permitted (previously the || operator would return the named type bool and an explicit conversion was required for this

Re: [gofrontend-dev] [PATCH 1/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
On Tue, Nov 4, 2014 at 4:15 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: See commit comment and ChangeLog for details. case amd64, 386: + case s390, s390x: Note that this doesn't do what you want. In Go, unlike C, cases do not fall through by default. So doing this means that

Re: [gofrontend-dev] [PATCH 1/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
On Tue, Nov 4, 2014 at 4:15 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: See commit comment and ChangeLog for details. Committed patch 0001 with various formatting fixes, as attached. Note that libgo/runtime/runtime.c now refers to S390_HAVE_STCKF. It's not obvious to me that that is

Re: [gofrontend-dev] [PATCH 2/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
Part of this patch duplicates a patch that is already applied to the master Go library, so I explicitly backported that patch (https://codereview.appspot.com/111320044) instead. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 3b8f536b76d8

Re: [gofrontend-dev] [PATCH 2/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
For the rest of this patch, I replied on the bug (http://gcc.gnu.org/PR63269). I'm not persuaded that the approach this patch takes is correct. Ian

Re: [gofrontend-dev] [PATCH 3/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
I committed this patch. Thanks. I changed the ChangeLog entry to this, since your ChangeLog entry didn't seem accurate to me. 2014-11-04 Dominik Vogt v...@linux.vnet.ibm.com * go.test/go-test.exp: In +build lines, require whitespace around expected strings, fix check for

Re: [gofrontend-dev] [PATCH 0/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
On Tue, Nov 4, 2014 at 4:15 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: This is the second set of patches to support s390[x] with Gccgo, containing mostly architecture dependent parts that affect the following directories: Summary of this series: --- 0001: Ports

Re: [gofrontend-dev] [PATCH 4/4] Gccgo port to s390[x] -- part II

2014-11-04 Thread Ian Taylor
I committed the change to go-test.exp. Thanks. The other changes are not OK. As described in gcc/testsuite/go.test/test/README.gcc, the files in gcc/testsuite/go.test/test are an exact copy of the master Go testsuite. Any changes must be made to the master Go testsuite first. I don't know

libgo patch committed: Use -dumpversion rather than looking at BASE-VER

2014-11-03 Thread Ian Taylor
This patch from Peter Collingbourne changes the libgo install to get the version number from gccgo -dumpversion rather than looking at the BASE-VER file in the gcc source directory. Bootstrapped on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 21b8b46b67f2 libgo/Makefile.am ---

Re: Recent go changes broke alpha bootstrap

2014-11-03 Thread Ian Taylor
On Mon, Nov 3, 2014 at 9:02 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Thu, Oct 30, 2014 at 08:05:14AM -0700, Ian Taylor wrote: On Thu, Oct 30, 2014 at 5:46 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: I'm not quite sure about the best approach. The attempt to represent C

Re: [gofrontend-dev] Re: [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-31 Thread Ian Taylor
On Fri, Oct 31, 2014 at 2:11 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Thu, Oct 30, 2014 at 07:51:45AM -0700, Ian Taylor wrote: On Thu, Oct 30, 2014 at 12:25 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: See attached patch. I don't mind skipping the test on other platforms

Re: [gofrontend-dev] Re: [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-30 Thread Ian Taylor
On Thu, Oct 30, 2014 at 12:25 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: On Wed, Oct 29, 2014 at 10:16:40AM -0700, Ian Taylor wrote: Thanks. Part of the problem is that the m68k max alignment is 16 bits, but the godump test expects it to be at least 64 bits. This is BIGGEST_ALIGNMENT

Re: [PATCH] config-list.mk: Build Go only for supported targets (was: Patch RFA: Top-level configure patch: disable go on systems where it doesn't work)

2014-10-30 Thread Ian Taylor
On Thu, Oct 30, 2014 at 6:19 AM, Jan-Benedict Glaw jbg...@lug-owl.de wrote: This updates contrib/config-list.mk to build Go for all but known-non-working targets. A comment to configure{.ac,} is also added. diff --git a/contrib/config-list.mk b/contrib/config-list.mk index 94884d9..16900e1

Re: [gofrontend-dev] Re: [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-30 Thread Ian Taylor
On Thu, Oct 30, 2014 at 8:05 AM, Uros Bizjak ubiz...@gmail.com wrote: /* { dg-options -c -fdump-go-spec=godump-1.out } */ /* { dg-do compile } */ +/* { dg-skip-if not supported for target { ! s390*-*-* x86_64-*-* } } */ x86_64 also needs lp64, otherwise -m32 will defeat this condition.

Re: [PATCH] config-list.mk: Build Go only for supported targets (was: Patch RFA: Top-level configure patch: disable go on systems where it doesn't work)

2014-10-30 Thread Ian Taylor
On Thu, Oct 30, 2014 at 12:14 PM, Jan-Benedict Glaw jbg...@lug-owl.de wrote: On Thu, 2014-10-30 08:08:51 -0700, Ian Taylor i...@golang.org wrote: On Thu, Oct 30, 2014 at 6:19 AM, Jan-Benedict Glaw jbg...@lug-owl.de wrote: This updates contrib/config-list.mk to build Go for all but known

Re: [gofrontend-dev] [PATCH 8/9] Gccgo port to s390[x] -- part I

2014-10-29 Thread Ian Taylor
On Wed, Oct 29, 2014 at 12:01 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: Patch updated to remove conflicts with changed tests in patch 7. Thanks. Approved and committed. Ian

Re: [gofrontend-dev] Re: [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-29 Thread Ian Taylor
On Wed, Oct 29, 2014 at 9:38 AM, Andreas Schwab sch...@suse.de wrote: I'm getting these test failures on m68k-linux: Can you send the file BUILDDIR/gcc/testsuite/gcc/godump-1.out? Ian

Re: [gofrontend-dev] Re: [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-29 Thread Ian Taylor
Thanks. Part of the problem is that the m68k max alignment is 16 bits, but the godump test expects it to be at least 64 bits. This is BIGGEST_ALIGNMENT in config/m68k/m68k.h. Another part of the problem seems to be that structs are sometimes aligned to 16 bits although there is no obvious

Re: [gofrontend-dev] [PATCH 7/9] Gccgo port to s390[x] -- part I

2014-10-28 Thread Ian Taylor
On Tue, Oct 28, 2014 at 7:31 AM, Dominik Vogt v...@linux.vnet.ibm.com wrote: The attached patch contains all the discussed changes. I made a few formatting changes. I patched the test to work on x86, by making the char types accept either int8 or uint8, and making the long double tests accept

libgo patch committed: Add consts for ioctl

2014-10-28 Thread Ian Taylor
This patch from Lynn Boger ensures that some ioctl constants are available on more systems. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r ec3c929aae72 libgo/mksysinfo.sh --- a/libgo/mksysinfo.shTue Oct 28 10:34:18 2014 -0700 +++

libgo patch committed: Recognize PPC relocs

2014-10-28 Thread Ian Taylor
This patch to libgo recognizes PPC relocations in the debug/elf package. This is a backport of https://codereview.appspot.com/125910043 which was applied to the PPC development branch of the master Go repository. For this patch bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.

Re: Patch RFA: Top-level configure patch: disable go on systems where it doesn't work

2014-10-27 Thread Ian Taylor
On Mon, Oct 27, 2014 at 8:06 AM, Jan-Benedict Glaw jbg...@lug-owl.de wrote: On Wed, 2014-10-22 20:36:53 -0700, Ian Taylor i...@golang.org wrote: This patch to the top level GCC configure script disables the go languages on some systems where it is known to not work. Bootstrapped on x86_64

libgo patch committed: Update to 1.3.3

2014-10-27 Thread Ian Taylor
This patch to libgo updates it to the Go 1.3.3 release. This is just a few bug fixes. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 03219f2d0191 libgo/MERGE --- a/libgo/MERGE Thu Oct 23 21:57:37 2014 -0700 +++ b/libgo/MERGE Mon

Re: Patch committed: Don't define TARGET_HAS_F_SETLKW

2014-10-24 Thread Ian Taylor
On Fri, Oct 24, 2014 at 6:26 AM, Andreas Schwab sch...@linux-m68k.org wrote: Ian Taylor i...@golang.org writes: 2014-10-23 Ian Lance Taylor i...@google.com * config/mep/mep.h (TARGET_HAS_F_SETLKW): Don't define. s/define/undefine/ Thanks. Fixed. (Changes to ChangeLog files do

Re: Patch RFA: Top-level configure patch: disable go on systems where it doesn't work

2014-10-23 Thread Ian Taylor
On Thu, Oct 23, 2014 at 8:27 AM, Pedro Alves pal...@redhat.com wrote: I think it'd be better if knowledge specific to subdirs was pushed down to the subdirs, rather than being kept in the top level, in the direction of how we disable libatomic, libsanitizer, etc. That is, by sourcing

Re: Patch RFA: Top-level configure patch: disable go on systems where it doesn't work

2014-10-23 Thread Ian Taylor
On Thu, Oct 23, 2014 at 8:39 AM, Pedro Alves pal...@redhat.com wrote: On 10/23/2014 04:31 PM, Ian Taylor wrote: My patch was, of course, just building on the existing unsupported_languages support. You are suggesting that we move that support from the top level configure script

libbacktrace patch committed: Fix load_pointer if no atomic or sync functions

2014-10-23 Thread Ian Taylor
This patch to libbacktrace fixes the type returned by the backup definition of backtrace_atomic_load_pointer for the case where libbacktrace is compiled with neither the atomic nor the sync functions available. This case does not arise in general but could arise from other uses of the library, or

Patch committed: Don't define TARGET_HAS_F_SETLKW

2014-10-23 Thread Ian Taylor
The target macro TARGET_HAS_F_SETLKW was removed from GCC back in 2005 (https://gcc.gnu.org/ml/gcc-patches/2005-07/msg00917.html). I happened to notice a dreg in mep.h. After so long without a meaning, it can't be necessary now. This patch removes it. Committed as obvious. Ian 2014-10-23

Patch committed: Fix typo in comment in tree-vrp.c

2014-10-23 Thread Ian Taylor
This patch fixes a typo in a comment in tree-vrp.c. Committed as obvious. Ian 2014-10-23 Ian Lance Taylor i...@google.com * tree-vrp.c (extract_range_from_assert): Fix typo in comment. Index: gcc/tree-vrp.c === ---

Go patch committed: Simplify making a constant integer expression

2014-10-23 Thread Ian Taylor
The Go frontend currently only makes integer expressions using the mpz_t type, which is awkward when building an expression for a constant or other ordinary C integer. This patch adds a couple of helper functions and changes the frontend to use them. Bootstrapped and ran Go testsuite on

Go patch committed: Use MPC library for complex numbers

2014-10-23 Thread Ian Taylor
This patch to the Go frontend changes it to use the MPC library for complex numbers, rather than using pairs of MPFR values. This is a boilerplate change that lets us get rid of a bunch of code handling complex constant multiplication and division. Bootstrapped and ran Go testsuite on

Patch committed: Add missing ChangeLog entry

2014-10-22 Thread Ian Taylor
I committed this patch to the top-level ChangeLog to add a missing entry. I forgot to commit the ChangeLog patch with the real change over a year ago, and just came across it. Ian Index: ChangeLog === --- ChangeLog (revision

Patch RFA: Top-level configure patch: disable go on systems where it doesn't work

2014-10-22 Thread Ian Taylor
This patch to the top level GCC configure script disables the go languages on some systems where it is known to not work. Bootstrapped on x86_64-unknown-gnu-linux. OK for mainline? Ian 2014-10-22 Ian Lance Taylor i...@google.com * configure.ac: Disable the Go frontend on systems where it is

Go patch committed: Remove old hidden_fields_are_ok code

2014-10-21 Thread Ian Taylor
Back in December 2011 I changed the Go frontend to permit assigning structs with hidden fields (https://gcc.gnu.org/ml/gcc-patches/2011-12/msg00632.html). At the time the language change was somewhat experimental, so I left the old code. The language change has clearly stuck, and that old code

libgo patch committed: Allocate correct types in refect for interface conversions

2014-10-20 Thread Ian Taylor
This patch to libgo is a copy of a patch I recently made to the master Go library. This changes the reflect package to allocate memory using the correct types for interface conversions. The code was incorrectly allocating an empty interface type to hold a non-empty interface value. This was

Go patch committed: Pass type information to heap allocations

2014-10-20 Thread Ian Taylor
This patch by Chris Manghane passes type information to compiler-generated heap allocations in gccgo. This gives us precise type information for much of the gccgo heap, and means that garbage collection is much more precise and less prone to errors due to mistaking integer or float values as