summaryrefslogtreecommitdiff
path: root/src/cmd/gc/walk.c
AgeCommit message (Collapse)AuthorFilesLines
2009-11-15gc: five bug fixes, one better error.Russ Cox1-1/+1
* 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
2009-10-23all of pkg now compiles, fixes a few more testsKai Backman1-2/+2
go/test: passes 90% (313/345) R=rsc APPROVED=rsc DELTA=90 (83 added, 3 deleted, 4 changed) OCL=36011 CL=36023
2009-10-19bug196Russ Cox1-10/+3
R=ken OCL=35905 CL=35905
2009-10-12sort errors by line numberRuss Cox1-1/+1
turn off testdclstack and "not used" errors when there are syntax errors. BUG=2181825 R=ken OCL=35606 CL=35608
2009-10-10fix float <-> int64 conversionsKai Backman1-0/+10
R=rsc APPROVED=rsc DELTA=25 (25 added, 0 deleted, 0 changed) OCL=35566 CL=35574
2009-10-07add & fix bug207: rewritten if conditionRuss Cox1-2/+9
was discarding initialization work. R=ken OCL=35454 CL=35457
2009-09-21ideal bools and related fixesRuss Cox1-2/+2
R=ken OCL=34859 CL=34865
2009-09-15declared and not used; this time for sureRuss Cox1-0/+14
R=ken OCL=34657 CL=34657
2009-09-14declared and not used error, but disabled.Russ Cox1-0/+3
fix some bugs involving _. R=ken OCL=34621 CL=34621
2009-09-09composit literal underKen Thompson1-485/+0
init function context. also moved composit literal code from walk.c to sinit.c R=rsc OCL=34503 CL=34503
2009-09-09defining package block names must overrideRuss Cox1-1/+1
universe block names. BUG=2097244 R=ken OCL=34295 CL=34473
2009-09-08write-only variable _Russ Cox1-1/+5
R=ken OCL=34465 CL=34470
2009-09-08init context for composit literalsKen Thompson1-0/+46
R=rsc OCL=34462 CL=34462
2009-09-08pass Type* to makechan and makemap so thatRuss Cox1-7/+4
they can get the official alignment out of there instead of guessing. R=ken OCL=34450 CL=34450
2009-09-07maps in static initializationKen Thompson1-3/+124
R=rsc OCL=34434 CL=34434
2009-09-06more static initKen Thompson1-6/+87
almost done R=rsc OCL=34422 CL=34422
2009-09-05composit literalsKen Thompson1-83/+182
plateau - more to come R=rsc OCL=34413 CL=34413
2009-08-26bug slicing array - cap is hugeKen Thompson1-1/+1
R=rsc OCL=33936 CL=33936
2009-08-25rename runtime internals to have modern names (array->slice etc)Rob Pike1-15/+15
R=rsc DELTA=444 (179 added, 177 deleted, 88 changed) OCL=33847 CL=33849
2009-08-12bug188 - sort(x)Russ Cox1-0/+4
R=ken OCL=33123 CL=33123
2009-08-12delete code for forward type declarationsRuss Cox1-4/+1
R=ken OCL=33108 CL=33113
2009-08-11bug186 - f(iota)Russ Cox1-1/+1
R=ken OCL=33051 CL=33051
2009-08-07bug159Russ Cox1-1/+14
R=ken OCL=32902 CL=32914
2009-08-07bug185 - return b,a from func() (a,b int)Russ Cox1-4/+34
R=ken OCL=32900 CL=32900
2009-08-07bug184 - assignment compatibility in unpacked multireturnRuss Cox1-16/+29
R=ken OCL=32890 CL=32894
2009-08-07bug181 - type T *struct { T } is an invalid embedded typeRuss Cox1-1/+7
R=ken OCL=32886 CL=32886
2009-08-07forward declarations not necessary.Russ Cox1-10/+53
still to do: * initializer cycle detection * nicer error for type checking cycles R=ken OCL=32855 CL=32880
2009-08-05delay range processing. old2new is goneRuss Cox1-259/+8
R=ken OCL=32780 CL=32780
2009-08-05delay := processingRuss Cox1-287/+3
R=ken OCL=32772 CL=32772
2009-08-04delayed evaluation of var blocksRuss Cox1-4/+30
R=ken OCL=32750 CL=32753
2009-08-04move select into its own file.Russ Cox1-232/+5
split into typecheck + walk R=ken OCL=32726 CL=32726
2009-08-04type checking of assignments, switch, if, forRuss Cox1-367/+98
R=ken OCL=32716 CL=32720
2009-08-03more 6g reorg; checkpoint.Russ Cox1-1116/+334
typecheck.c is now responsible for all type checking except for assignment and function argument "..." R=ken OCL=32661 CL=32667
2009-07-31checkpoint; still plenty to clean upRuss Cox1-862/+389
R=ken OCL=32576 CL=32580
2009-07-30delete some code from walkexpr that is nowRuss Cox1-291/+74
handled by typecheck. second switch is gone move floating point minus into back end R=ken OCL=32558 CL=32558
2009-07-30typechecking checkpoint.Russ Cox1-487/+97
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
2009-07-29introduce typecheck pass before walkexpr.Russ Cox1-84/+302
not complete but compiler still works. R=ken OCL=32424 CL=32426
2009-07-29convert walkexpr to take Node**; drop indirRuss Cox1-186/+195
R=ken OCL=32421 CL=32421
2009-07-27constant keys for array initializersRuss Cox1-1/+1
R=ken OCL=32261 CL=32261
2009-07-27multiple return in := bugRuss Cox1-0/+4
R=ken OCL=32253 CL=32253
2009-07-27print(1<<x)Russ Cox1-3/+4
R=ken OCL=32252 CL=32252
2009-07-27named string type bugsRuss Cox1-5/+13
R=ken OCL=32244 CL=32244
2009-07-27catchRuss Cox1-3/+9
a := true; a |= a; in the front end. R=ken OCL=32240 CL=32243
2009-07-20explain selectsend problemRuss Cox1-1/+4
R=ken OCL=31865 CL=31867
2009-07-17another baby step.Russ Cox1-0/+1
excluding import data, no yacc node has type Type* anymore. 0 reduce/reduce conflicts. R=ken OCL=31793 CL=31795
2009-07-17baby step: const decls can refer to futureRuss Cox1-35/+129
consts in the same factored block const ( X = Y; Y = 2; ) R=ken OCL=31782 CL=31782
2009-07-17another step toward eliminating forward declarations.Russ Cox1-826/+874
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
2009-07-13step toward no function prototypes.Russ Cox1-28/+175
delay evaluation of most types (all but func) from parse time to type check time. R=ken OCL=31585 CL=31585
2009-07-10cleanup in preparation for new scoping.Russ Cox1-388/+299
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
2009-07-09segment faultKen Thompson1-0/+4
R=rsc OCL=31396 CL=31396