1
0
mirror of https://github.com/golang/go synced 2024-09-30 22:48:32 -06:00
The Go programming language
Go to file
Alan Donovan 43c97eab79 go.tools/go/pointer: fix solver nontermination bug due to reflective type construction cycles.
Programs such as this cause the PtrTo solver to attempt to
enumerate an infinite set of types {T, *T, ..., *******T, etc}.

        t := reflect.TypeOf(T{})
        for {
                t = reflect.PtrTo(t)
        }

The fix is to bound the depth of reflectively created types at
about 4 map/chan/slice/pointer constructors.

+ test.

LGTM=gri
R=gri
CC=crawshaw, golang-codereviews
https://golang.org/cl/102030044
2014-05-30 16:27:51 -04:00
astutil go.tools/astutil: fix edge case in DeleteImport causing merging of import sections. 2014-05-19 14:04:30 -07:00
blog go.tools/blog: strip prefix when serving static content 2013-11-08 13:28:32 +11:00
cmd go.tools/cmd/present: re-enable transitions 2014-05-21 14:35:45 +10:00
container/intsets go.tools/container/intsets: increase block size to 256 bits. 2014-05-30 13:21:36 -04:00
cover go.tools/cover: split parsing code out from cmd/cover 2013-12-03 20:55:21 -08:00
dashboard go.tools/dashboard/builder: fix build on dragonfly, nacl, solaris 2014-05-21 10:45:47 +09:00
go go.tools/go/pointer: fix solver nontermination bug due to reflective type construction cycles. 2014-05-30 16:27:51 -04:00
godoc go.tools: fix various minor issues found by go vet 2014-05-19 08:47:28 -07:00
imports go.tools/imports: fix case where output not gofmt-compatible 2014-05-20 14:02:16 -07:00
oracle go.tools: fix various typos 2014-05-02 14:38:08 -07:00
playground go.tools/playground/socket: require origin to set up socket handler 2014-05-05 08:42:12 -07:00
present go.tools/present: fix printf bug found by go vet 2014-05-16 14:29:34 -07:00
refactor go.tools/all: the the thes are too frequent, it's clear that that's not what we want 2014-05-19 09:48:30 -07:00
.hgignore go.tools/.hgignore: don't ignore test-generated files, clean them up. 2014-04-10 13:17:20 -04:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
codereview.cfg codereview: switch defaultcc to golang-codereviews 2013-12-20 10:54:33 -05:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00

This subrepository holds the source for various packages and tools that support
the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.
Others, including the Go oracle and the test coverage tool, can be fetched with "go get".

Packages include a type-checker for Go and an implementation of the
Static Single Assignment form (SSA) representation for Go programs.

To submit changes to this repository, see http://golang.org/doc/contribute.html.