summaryrefslogtreecommitdiff
path: root/src/cmd/gc/go.h
AgeCommit message (Collapse)AuthorFilesLines
2009-10-15do not migrate x to the heap because of *&x.Russ Cox1-0/+2
R=ken OCL=35799 CL=35799
2009-10-12sort errors by line numberRuss Cox1-0/+2
turn off testdclstack and "not used" errors when there are syntax errors. BUG=2181825 R=ken OCL=35606 CL=35608
2009-10-08add & fix bug208, from ken.Russ Cox1-0/+1
fix bug198. R=ken OCL=35504 CL=35507
2009-10-07better handling of mistaken top-level variableRuss Cox1-3/+1
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
2009-09-21ideal bools and related fixesRuss Cox1-0/+1
R=ken OCL=34859 CL=34865
2009-09-17move static init code from 6g into gc.Russ Cox1-0/+3
hook up to 8g and 5g too. R=ken OCL=34768 CL=34768
2009-09-17check for unused importsRuss Cox1-3/+5
R=ken OCL=34732 CL=34756
2009-09-14declared and not used error, but disabled.Russ Cox1-0/+1
fix some bugs involving _. R=ken OCL=34621 CL=34621
2009-09-09composit literal underKen Thompson1-0/+1
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-0/+1
universe block names. BUG=2097244 R=ken OCL=34295 CL=34473
2009-09-09update type switch to match spec.Russ Cox1-2/+3
R=ken OCL=34471 CL=34471
2009-09-08write-only variable _Russ Cox1-0/+7
R=ken OCL=34465 CL=34470
2009-09-08init context for composit literalsKen Thompson1-0/+1
R=rsc OCL=34462 CL=34462
2009-09-05composit literalsKen Thompson1-7/+3
plateau - more to come R=rsc OCL=34413 CL=34413
2009-09-03stop using filename for disambiguation within a package.Russ Cox1-2/+0
R=ken OCL=34339 CL=34341
2009-09-02the last bug involving type hashesRuss Cox1-1/+1
R=ken OCL=34244 CL=34249
2009-08-27clean up ideal handling; reject attemptsRuss Cox1-0/+1
to write type descriptors for ideal types R=ken OCL=33958 CL=33958
2009-08-24bug197Russ Cox1-1/+1
R=ken OCL=33765 CL=33765
2009-08-20symbol bugs.Russ Cox1-0/+2
do not emit unreachable data symbols. R=austin DELTA=103 (71 added, 4 deleted, 28 changed) OCL=33325 CL=33622
2009-08-19produce diagnostic forRuss Cox1-0/+1
import "fmt" var fmt = 1 R=ken OCL=33556 CL=33561
2009-08-19try to do better line number reportingRuss Cox1-1/+4
in the presence of yacc lookahead. better but still not perfect R=ken OCL=33541 CL=33541
2009-08-19fix import dot bugRuss Cox1-1/+0
R=ken OCL=33526 CL=33528
2009-08-12delete code for forward type declarationsRuss Cox1-7/+0
R=ken OCL=33108 CL=33113
2009-08-12whole-package compilationRuss Cox1-0/+2
R=ken OCL=33063 CL=33095
2009-08-11bug186 - f(iota)Russ Cox1-0/+1
R=ken OCL=33051 CL=33051
2009-08-091. integer division by a constant done.Ken Thompson1-1/+28
2. moved functions from 6g to gc for portability to other families. 3. added rotate-carry instructions to peek and reg. R=rsc OCL=32946 CL=32946
2009-08-08plateau in divide by a constantKen Thompson1-1/+1
still to do - overflow, mod R=rsc OCL=32927 CL=32927
2009-08-07bug181 - type T *struct { T } is an invalid embedded typeRuss Cox1-0/+1
R=ken OCL=32886 CL=32886
2009-08-07forward declarations not necessary.Russ Cox1-15/+28
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-4/+5
R=ken OCL=32780 CL=32780
2009-08-05delay := processingRuss Cox1-1/+2
R=ken OCL=32772 CL=32772
2009-08-04make Syms smaller.Russ Cox1-48/+26
collapse a lot of duplication in dcl.c switch to NodeList* from Dcl* R=ken OCL=32770 CL=32770
2009-08-04move various bits of code aroundRuss Cox1-4/+0
and delete some dead code. no actual changes here. R=ken OCL=32764 CL=32764
2009-08-04delayed evaluation of var blocksRuss Cox1-0/+1
R=ken OCL=32750 CL=32753
2009-08-04move select into its own file.Russ Cox1-0/+5
split into typecheck + walk R=ken OCL=32726 CL=32726
2009-08-04type checking of assignments, switch, if, forRuss Cox1-21/+2
R=ken OCL=32716 CL=32720
2009-08-03more 6g reorg; checkpoint.Russ Cox1-15/+19
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-40/+69
R=ken OCL=32576 CL=32580
2009-07-30typechecking checkpoint.Russ Cox1-6/+7
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-7/+17
not complete but compiler still works. R=ken OCL=32424 CL=32426
2009-07-29convert walkexpr to take Node**; drop indirRuss Cox1-4/+5
R=ken OCL=32421 CL=32421
2009-07-29expression printer; %#NRuss Cox1-0/+1
R=ken OCL=32419 CL=32419
2009-07-17another baby step.Russ Cox1-1/+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-9/+16
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-54/+66
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-1/+8
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-22/+20
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-07method expansion bugsRuss Cox1-0/+1
R=ken OCL=31310 CL=31310
2009-07-076g, 8g: generate data structures for new reflect interface (CL 31107)Russ Cox1-4/+7
R=ken OCL=31122 CL=31278
2009-07-06various 6g cleanup:Russ Cox1-5/+11
* give genwrapper and genembedtramp the same signature. * move duint8, duint16, duint32, duint64, duintptr into gc. * tidy genwrapper. * bug involving struct field symbols in signature list. (hash-order dependent so hard to trigger) * new Type print format %#-T like %#T but omits names on function arguments. R=ken OCL=31237 CL=31237