Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
go/test: passes 90% (313/345)
R=rsc
APPROVED=rsc
DELTA=90 (83 added, 3 deleted, 4 changed)
OCL=36011
CL=36023
|
|
R=ken
OCL=35905
CL=35905
|
|
turn off testdclstack and "not used" errors
when there are syntax errors.
BUG=2181825
R=ken
OCL=35606
CL=35608
|
|
R=rsc
APPROVED=rsc
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=35566
CL=35574
|
|
was discarding initialization work.
R=ken
OCL=35454
CL=35457
|
|
R=ken
OCL=34859
CL=34865
|
|
R=ken
OCL=34657
CL=34657
|
|
fix some bugs involving _.
R=ken
OCL=34621
CL=34621
|
|
init function context.
also moved composit literal
code from walk.c to sinit.c
R=rsc
OCL=34503
CL=34503
|
|
universe block names.
BUG=2097244
R=ken
OCL=34295
CL=34473
|
|
R=ken
OCL=34465
CL=34470
|
|
R=rsc
OCL=34462
CL=34462
|
|
they can get the official alignment out of there
instead of guessing.
R=ken
OCL=34450
CL=34450
|
|
R=rsc
OCL=34434
CL=34434
|
|
almost done
R=rsc
OCL=34422
CL=34422
|
|
plateau - more to come
R=rsc
OCL=34413
CL=34413
|
|
R=rsc
OCL=33936
CL=33936
|
|
R=rsc
DELTA=444 (179 added, 177 deleted, 88 changed)
OCL=33847
CL=33849
|
|
R=ken
OCL=33123
CL=33123
|
|
R=ken
OCL=33108
CL=33113
|
|
R=ken
OCL=33051
CL=33051
|
|
R=ken
OCL=32902
CL=32914
|
|
R=ken
OCL=32900
CL=32900
|
|
R=ken
OCL=32890
CL=32894
|
|
R=ken
OCL=32886
CL=32886
|
|
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
|
|
R=ken
OCL=32750
CL=32753
|
|
split into typecheck + walk
R=ken
OCL=32726
CL=32726
|
|
R=ken
OCL=32716
CL=32720
|
|
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
|
|
handled by typecheck.
second switch is gone
move floating point minus into back end
R=ken
OCL=32558
CL=32558
|
|
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
|
|
not complete but compiler still works.
R=ken
OCL=32424
CL=32426
|
|
R=ken
OCL=32421
CL=32421
|
|
R=ken
OCL=32261
CL=32261
|
|
R=ken
OCL=32253
CL=32253
|
|
R=ken
OCL=32252
CL=32252
|
|
R=ken
OCL=32244
CL=32244
|
|
a := true;
a |= a;
in the front end.
R=ken
OCL=32240
CL=32243
|
|
R=ken
OCL=31865
CL=31867
|
|
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
|
|
introduce NodeList* type in compiler to replace OLIST.
this clarifies where lists can and cannot occur.
list append and concatenation are now cheap.
the _r rules are gone from yacc.
rev and unrev are gone.
no more lists of lists.
the representation of assignments is a bit clunkier.
split into OAS (1=1) and OAS2 (2 or more on one side).
delete dead chanrecv3 code.
delay construction of func types.
R=ken
OCL=31745
CL=31762
|
|
delay evaluation of most types (all but func)
from parse time to type check time.
R=ken
OCL=31585
CL=31585
|
|
walkstate -> walkstmt
walktype -> walkexpr; stmts moved to walkstmt
walktype and friends have a final Node **init
argument that can have side effects appended,
making it more explicit when they do and do not happen.
this replaces the old global addtop and addtotop.
delete switch map and interface conversion cases
(dropped from the language months ago).
R=ken
OCL=31465
CL=31468
|
|
R=rsc
OCL=31396
CL=31396
|