1
0
mirror of https://github.com/golang/go synced 2024-11-15 11:50:31 -07:00
Commit Graph

1519 Commits

Author SHA1 Message Date
Shenghou Ma
f98661e77e [release-branch.go1] cmd/gc: add missing case for OCOM in defaultlit()
««« backport b5c4f411a852
cmd/gc: add missing case for OCOM in defaultlit()
        Fixes #3765.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6349064

»»»
2012-09-22 05:53:56 +10:00
Russ Cox
a2f13c8cf2 [release-branch.go1] cmd/gc: fix LEAQ $0, SI bug
««« backport c4a344d25b87
cmd/gc: fix LEAQ $0, SI bug

Cannot take effective address of constant.

Fixes #3670.

R=ken2
CC=golang-dev
https://golang.org/cl/6299055

»»»
2012-06-13 16:24:52 -04:00
Russ Cox
0d5061ac95 [release-branch.go1] cmd/gc: fix type checking loop
««« backport e69400ace361
cmd/gc: fix type checking loop

CL 4313064 fixed its test case but did not address a
general enough problem:

type T1 struct { F *T2 }
type T2 T1
type T3 T2

could still end up copying the definition of T1 for T2
before T1 was done being evaluated, or T3 before T2
was done.

In order to propagate the updates correctly,
record a copy of an incomplete type for re-execution
once the type is completed. Roll back CL 4313064.

Fixes #3709.

R=ken2
CC=golang-dev, lstoakes
https://golang.org/cl/6301059

»»»
2012-06-13 16:24:51 -04:00
Russ Cox
a56e41d518 [release-branch.go1] cmd/gc: do not crash on struct with _ field
««« backport af07f1cd12dc
cmd/gc: do not crash on struct with _ field

Fixes #3607.

R=ken2
CC=golang-dev
https://golang.org/cl/6296052

»»»
2012-06-13 16:24:49 -04:00
Russ Cox
4bc9ddf82f [release-branch.go1] cmd/gc: preserve side effects during inlining of function with _ argument
««« backport 0ba8e27c7b87
cmd/gc: preserve side effects during inlining of function with _ argument

Fixes #3593.

R=ken2
CC=golang-dev, lvd
https://golang.org/cl/6305061

»»»
2012-06-13 16:24:49 -04:00
Russ Cox
920ebab03c [release-branch.go1] cmd/gc: fix parallel assignment in range
««« backport 2252777854d2
cmd/gc: fix parallel assignment in range

for expr1, expr2 = range slice
was assigning to expr1 and expr2 in sequence
instead of in parallel.  Now it assigns in parallel,
as it should.  This matters for things like
for i, x[i] = range slice.

Fixes #3464.

R=ken2
CC=golang-dev
https://golang.org/cl/6252048

»»»
2012-06-13 16:24:21 -04:00
Russ Cox
dfb11495b5 [release-branch.go1] runtime: handle and test large map values
««« backport 98488e2e38ee
runtime: handle and test large map values

This is from CL 5451105 but was dropped from that CL.
See also CL 6137051.

The only change compared to 5451105 is to check for
h != nil in reflect·mapiterinit; allowing use of nil maps
must have happened after that original CL.

Fixes #3573.

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/6215078

»»»
2012-06-13 16:24:21 -04:00
Russ Cox
84d3dc5a93 [release-branch.go1] cmd/gc: fix small integer bounds check bug
««« backport 967ae8baf398
cmd/gc: fix small integer bounds check bug

R=ken2
CC=golang-dev
https://golang.org/cl/6254046

»»»
2012-06-13 16:24:17 -04:00
Luuk van Dijk
cb6f9ce4c7 [release-branch.go1] cmd/gc: fix addresses escaping through closures called in-place.
««« backport a890477d3dfb
cmd/gc: fix addresses escaping through closures called in-place.

Fixes #3545.

R=rsc
CC=golang-dev
https://golang.org/cl/6061043

»»»
2012-04-23 15:39:01 -04:00
Russ Cox
5eb007dede runtime: work around false negative in deadlock detection
Not a complete fix for issue 3342, but fixes the trivial case.
There may still be a race in the instants before and after
a scavenger-induced garbage collection.

Intended to be "obviously safe": a call to runtime·gosched
before main.main is no different than a call to runtime.Gosched
at the beginning of main.main, and it is (or had better be)
safe to call runtime.Gosched at any point during main.

Update #3342.

R=iant
CC=golang-dev
https://golang.org/cl/5919052
2012-03-27 12:22:19 -04:00
Mikio Hara
4c2614c57c undo CL 5844051 / 5d0322034aa8
Breaks closure test when GOMAXPROCS=2 or more.

««« original CL description
runtime: restore deadlock detection in the simplest case.

Fixes #3342.

R=iant, r, dave, rsc
CC=golang-dev, remy
https://golang.org/cl/5844051

»»»

R=rsc
CC=golang-dev
https://golang.org/cl/5924045
2012-03-27 13:05:17 +09:00
Rémy Oudompheng
84bb2547fb runtime: restore deadlock detection in the simplest case.
Fixes #3342.

R=iant, r, dave, rsc
CC=golang-dev, remy
https://golang.org/cl/5844051
2012-03-26 23:06:20 -04:00
Ian Lance Taylor
d12f1ff7ad test: fix run.bash by spelling out the commands to use for bug424.go
R=golang-dev, gri, iant
CC=golang-dev
https://golang.org/cl/5882046
2012-03-22 12:48:41 -07:00
Ian Lance Taylor
47b6197a01 cmd/gc: when expanding append inline, preserve arguments
Fixes #3369.

R=golang-dev, gri, lvd, r
CC=golang-dev
https://golang.org/cl/5876044
2012-03-22 09:44:31 -07:00
Shenghou Ma
e2662835b8 test: use testlib in a few more cases
Introduce a new skip cmd.

R=golang-dev, bradfitz, iant, iant
CC=golang-dev
https://golang.org/cl/5868048
2012-03-22 02:14:44 +08:00
Anthony Martin
e1f22bdcc5 gc: fix struct and array comparisons for new bool rules
The two optimizations for small structs and arrays
were missing the implicit cast from ideal bool.

Fixes #3351.

R=rsc, lvd
CC=golang-dev
https://golang.org/cl/5848062
2012-03-19 15:57:28 -07:00
Russ Cox
c978a5a3a9 test: skip . files in directory
Xcode generates ._foo.go files.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5786055
2012-03-08 14:03:40 -05:00
Russ Cox
d4fb568e04 cmd/gc: implement len(array) / cap(array) rule
The spec is looser than the current implementation.
The spec edit was made in CL 4444050 (May 2011)
but I never implemented it.

Fixes #3244.

R=ken2
CC=golang-dev
https://golang.org/cl/5785049
2012-03-07 22:43:28 -05:00
Shenghou Ma
90010f8f63 build: re-enable some broken tests in run.bash
Updates #2982.

R=rsc, rsc
CC=golang-dev
https://golang.org/cl/5759064
2012-03-08 06:23:56 +08:00
Ian Lance Taylor
b514f0b906 test: enable method expression tests in ddd.go
R=golang-dev, gri, rsc
CC=golang-dev
https://golang.org/cl/5769044
2012-03-07 11:17:26 -08:00
Ian Lance Taylor
72faa0303e test: fix testlib to not pass an empty argument to 6g
This change is necessary to make the run shell script work
again, but it is not sufficient as bug424.go's execution line
does not name the package that it imports.

R=golang-dev, gri, rsc
CC=golang-dev
https://golang.org/cl/5771043
2012-03-07 11:16:58 -08:00
Ian Lance Taylor
e54ad64ff3 test: add inherited interface test to ddd.go
The gccgo compiler incorrectly gave an error for this code.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5767043
2012-03-07 08:24:10 -08:00
Russ Cox
08854b022f test: fix typo
R=ken2
CC=golang-dev
https://golang.org/cl/5752073
2012-03-07 10:21:56 -05:00
Russ Cox
4267974c0b cmd/gc: unnamed struct types can have methods
Fixes #3143.

R=ken2
CC=golang-dev
https://golang.org/cl/5752070
2012-03-07 02:27:15 -05:00
Russ Cox
712473612f test/run: fix builders
Let the outer environment filter down to the commands being run.

TBR=r
CC=golang-dev
https://golang.org/cl/5758066
2012-03-07 02:22:08 -05:00
Russ Cox
987a580b9f cmd/gc: do not confuse unexported methods of same name
Fixes #3146.

R=ken2
CC=golang-dev
https://golang.org/cl/5756074
2012-03-07 01:55:17 -05:00
Russ Cox
105c5fa666 test: invoke go command in run.go
Lets us run multifile tests and tests with arguments.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5753068
2012-03-07 01:54:39 -05:00
Shenghou Ma
47ee98253e test/run: use all available cores on ARM system
R=rsc
CC=golang-dev
https://golang.org/cl/5753054
2012-03-07 12:43:25 +08:00
Rob Pike
905cb4881b all: remove some references to Make.inc etc.
There are a few more but these are the easiest ones.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5756067
2012-03-07 13:51:49 +11:00
Russ Cox
5e41fe0e45 build: use run.go for running tests
Also, tweak run.go to use no more than 2x the
number of CPUs, and only one on ARM.

53.85u 13.33s 53.69r 	 ./run
50.68u 12.13s 18.85r 	 go run run.go

Fixes #2833.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5754047
2012-03-05 22:47:23 -05:00
Ian Lance Taylor
06b7024462 test: match gccgo error messages for bug388.go
As runtime.UintType is no longer defined, the gccgo error
messages have changed.

bug388.go:12:10: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:12:10: error: invalid named/anonymous mix
bug388.go:13:21: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:17:10: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:18:18: error: reference to undefined identifier ‘runtime.UintType’
bug388.go:22:9: error: non-name on left side of ‘:=’
bug388.go:27:10: error: expected type
bug388.go:32:9: error: expected type
bug388.go:23:14: error: reference to field ‘i’ in object which has no fields or methods

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5755044
2012-03-05 16:21:46 -08:00
Russ Cox
6e3a7930eb cmd/gc: if $GOROOT_FINAL is set, rewrite file names in object files
GOROOT_FINAL is a build parameter that means "eventually
the Go tree will be installed here".  Make the file name information
match that eventual location.

Fixes #3180.

R=ken, ken
CC=golang-dev
https://golang.org/cl/5742043
2012-03-05 16:13:33 -05:00
Shenghou Ma
eb5af840d5 test/run.go: fix build
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5727068
2012-03-06 03:34:53 +08:00
Russ Cox
cae604f734 cmd/gc: must not inline panic, recover
R=lvd, gri
CC=golang-dev
https://golang.org/cl/5731061
2012-03-05 13:51:44 -05:00
Ian Lance Taylor
b14a6643dc test: add test of calling recover in a varargs function
gccgo did not handle this correctly.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5714050
2012-03-01 08:24:03 -08:00
Ian Lance Taylor
532c1b451b test: add bug426.go: a gccgo crash on valid code
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5715044
2012-02-29 21:51:21 -08:00
Ian Lance Taylor
f0886ab7e2 test: add a couple of cases to const1.go that crashed gccgo
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5713045
2012-02-29 17:39:02 -08:00
Anthony Martin
564a1f3358 gc: fix string comparisons for new bool rules
The two string comparison optimizations were
missing the implicit cast from ideal bool.

Fixes #3119.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5696071
2012-02-29 13:55:50 -08:00
Russ Cox
d0d251f858 gc: disallow absolute import paths
They are broken and hard to make work.

They have never worked: if you import "/tmp/x"
from "/home/rsc/p.c" then the compiler rewrites
this into import "/home/rsc/tmp/x", which is
clearly wrong.

Also we just disallowed the : character in import
paths, so import "c:/foo" is already not allowed.

Finally, in order to support absolute paths well in
a build tool we'd have to provide a mechanism to
instruct the compiler to resolve absolute imports
by looking in some other tree (where the binaries live)
and provide a mapping from absolute path to location
in that tree.  This CL avoids adding that complexity.

This is not part of the language spec (and should not be),
so no spec change is needed.

If we need to make them work later, we can.

R=ken2
CC=golang-dev
https://golang.org/cl/5712043
2012-02-29 15:28:36 -05:00
Robert Griesemer
69015b6fc4 test: bug424: wrong embedded method called
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5695083
2012-02-27 18:52:40 -08:00
Rob Pike
e303eeb75b go/test/chan1.go: fix typo
Found by Lucio De Re

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5694071
2012-02-25 08:47:04 +11:00
Anthony Martin
dc38756ce1 gc: reject import paths containing special characters
Also allow multiple invalid import statements in a
single file.

Fixes #3021. The changes to go/parser and the
language specifcation have already been committed.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/5672084
2012-02-24 14:48:36 -05:00
Rob Pike
832dcecc99 test/bench/shootout: update post-Makefile
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5696054
2012-02-24 16:59:09 +11:00
Rob Pike
eb37b5b744 test: document ken/*.go
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5694065
2012-02-24 16:24:24 +11:00
Russ Cox
075eef4018 gc: fix escape analysis + inlining + closure bug
R=ken2
CC=golang-dev, lvd
https://golang.org/cl/5693056
2012-02-23 23:09:53 -05:00
Rob Pike
d45ee4cb5f test: fix the fix of the rename tests.
Now they actually test again instead of just setting iota to zero.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5700058
2012-02-24 15:06:32 +11:00
Brad Fitzpatrick
e014cf0e54 test: add cmpout to testlib
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5699060
2012-02-24 13:17:26 +11:00
Brad Fitzpatrick
a55a5c8df3 test: add temporary show_skips flag.
To find test files with legacy headers.

We can remove this flag once everything is converted.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5694060
2012-02-24 12:52:15 +11:00
Rob Pike
80a9783f84 test/[n-z]*.go: add documentation
R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/5700056
2012-02-24 11:48:19 +11:00
Rob Pike
19bab1dc78 test/[n-r]*.go: add documentation
The rename ones needed redoing.

R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5698054
2012-02-24 10:30:39 +11:00