Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
various cleanup, deleting unused code
R=ken2
CC=golang-dev
http://codereview.appspot.com/1663041
|
|
Cleans up a few other corner cases too.
R=ken2
CC=golang-dev
http://codereview.appspot.com/1592045
|
|
* Code for assignment, conversions now mirrors spec.
* Changed some snprint -> smprint.
* Renamed runtime functions to separate
interface conversions from type assertions:
convT2I, assertI2T, etc.
* Correct checking of \U sequences.
Fixes issue 840.
Fixes issue 830.
Fixes issue 778.
R=ken2
CC=golang-dev
http://codereview.appspot.com/1303042
|
|
R=ken2, r, ken3
CC=golang-dev
http://codereview.appspot.com/831042
|
|
R=ken2
CC=golang-dev
http://codereview.appspot.com/216043
|
|
Fixes issue 287.
R=ken2
CC=golang-dev
http://codereview.appspot.com/215048
|
|
Fixes issue 287.
R=ken2
CC=golang-dev
http://codereview.appspot.com/199057
|
|
more to come, but should suffice for Printf work.
R=ken2
CC=golang-dev
http://codereview.appspot.com/197044
|
|
No longer a distinct type; now a property of func types.
R=ken2
CC=golang-dev
http://codereview.appspot.com/197042
|
|
5g/6g/8g: add import statements to export metadata, mapping package path to package name.
recognize "" as the path of the package in export metadata.
use "" as the path of the package in object symbol names.
5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package.
5l/6l/8l: rewrite "" in symbol names as object files are read.
gotest: handle new symbol names.
gopack: handle new import lines in export metadata.
Collectively, these changes eliminate the assumption of a global
name space in the object file formats. Higher level pieces such as
reflect and the computation of type hashes still depend on the
assumption; we're not done yet.
R=ken2, r, ken3
CC=golang-dev
http://codereview.appspot.com/186263
Committer: Russ Cox <rsc@golang.org>
|
|
* switch to real dot (.) instead of center dot (·) everywhere in object files.
before it was half and half depending on where in the name it appeared.
* in 6c/6a/etc identifiers, · can still be used but turns into . immediately.
* in export metadata, replace package identifiers with quoted strings
(still package names, not paths).
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/190076
|
|
Fixes issue 481.
R=ken2
CC=golang-dev
http://codereview.appspot.com/186213
|
|
Fixes issue 455.
R=ken2
CC=golang-dev
http://codereview.appspot.com/186212
|
|
R=ken2
http://codereview.appspot.com/180092
|
|
Fixes issue 423.
R=ken2
http://codereview.appspot.com/180045
|
|
Fixes bug 292.
R=ken2
http://codereview.appspot.com/164093
|
|
* check for struct literal assignment to private fields.
* record, fix crash involving parallel map assignment.
* avoid infinite recursion in exportassignok.
* make floating point bounds check precise.
* avoid crash on invalid receiver.
* add context to error about implicit assignment.
Fixes issue 86.
Fixes issue 88.
Fixes issue 158.
Fixes issue 174.
Fixes issue 201.
Fixes issue 204.
R=ken2
http://codereview.appspot.com/154144
|
|
R=r
http://go/go-review/1016017
|
|
* bug211
* embedded interfaces with lowercase methods
* var _ = f() at top level
R=ken
OCL=35898
CL=35898
|
|
because they are in package runtime.
another step to enforcing package boundaries.
R=r
DELTA=732 (114 added, 93 deleted, 525 changed)
OCL=35811
CL=35824
|
|
turn off testdclstack and "not used" errors
when there are syntax errors.
BUG=2181825
R=ken
OCL=35606
CL=35608
|
|
fix bug198.
R=ken
OCL=35504
CL=35507
|
|
references during the parsing of :=. the base
problem is that when reading
a,b,c,d
the parser makes those refer to existing variables,
which might create a few stub top-level ones
for undefined names, but then if a := is the next
token, we need to undo those stubs.
this was causing problems in multifile packages
in which one file used a := variable named rpc
and the other imported a package named rpc.
R=ken
OCL=35446
CL=35446
|
|
R=ken
OCL=35132
CL=35132
|
|
R=ken
OCL=34500
CL=34500
|
|
universe block names.
BUG=2097244
R=ken
OCL=34295
CL=34473
|
|
R=ken
OCL=34465
CL=34470
|
|
R=ken
OCL=33792
CL=33803
|
|
R=ken
OCL=33700
CL=33700
|
|
in the presence of yacc lookahead.
better but still not perfect
R=ken
OCL=33541
CL=33541
|
|
archive size +70%
binary size +30%
old
wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
-rwxr-xr-x 1 rsc eng 1487922 Aug 13 13:21 /Users/rsc/bin/godoc
-rwxr-xr-x 1 rsc eng 995995 Aug 13 13:21 /Users/rsc/bin/gofmt
wreck.mtv=; du -sh $GOROOT/pkg/
9.5M /home/rsc/go/pkg/
wreck.mtv=;
new
wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
-rwxr-xr-x 1 rsc eng 2014390 Aug 13 14:25 /Users/rsc/bin/godoc
-rwxr-xr-x 1 rsc eng 1268705 Aug 13 14:25 /Users/rsc/bin/gofmt
wreck.mtv=; du -sh $GOROOT/pkg
16M /home/rsc/go/pkg
wreck.mtv=;
R=ken
OCL=33217
CL=33220
|
|
R=ken
OCL=33108
CL=33113
|
|
R=ken
OCL=33063
CL=33095
|
|
R=ken
OCL=32886
CL=32886
|
|
disable func redeclaration mismatch test;
fix golden.out
R=ken
OCL=32883
CL=32883
|
|
still to do:
* initializer cycle detection
* nicer error for type checking cycles
R=ken
OCL=32855
CL=32880
|
|
R=ken
OCL=32780
CL=32780
|
|
R=ken
OCL=32772
CL=32772
|
|
collapse a lot of duplication in dcl.c
switch to NodeList* from Dcl*
R=ken
OCL=32770
CL=32770
|
|
and delete some dead code.
no actual changes here.
R=ken
OCL=32764
CL=32764
|
|
R=ken
OCL=32750
CL=32753
|
|
typecheck.c is now responsible for all type checking
except for assignment and function argument "..."
R=ken
OCL=32661
CL=32667
|
|
R=ken
OCL=32576
CL=32580
|
|
started to move typechecking to another file.
can build entire tree still, but lots of work
is duplicated. much to clean up.
R=ken
OCL=32536
CL=32543
|
|
R=ken
OCL=32421
CL=32421
|
|
so that == on func means that the
functions originated in the same
execution of a func literal or definition.
before, there was an inconsistency:
func() {x++} != func() {x++}
but
func() {} == func() {}
this CL makes the second case != too,
just like
make(map[int]int) != make(map[int]int)
R=r
DELTA=202 (71 added, 62 deleted, 69 changed)
OCL=32393
CL=32398
|
|
R=ken
OCL=32239
CL=32239
|
|
excluding import data,
no yacc node has type Type* anymore.
0 reduce/reduce conflicts.
R=ken
OCL=31793
CL=31795
|
|
consts in the same factored block
const (
X = Y;
Y = 2;
)
R=ken
OCL=31782
CL=31782
|