summaryrefslogtreecommitdiff
path: root/src/cmd/gc/subr.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-03back to T{x}, stricter handling of T(x) vs x.(T)Russ Cox1-2/+2
R=ken DELTA=131 (60 added, 41 deleted, 30 changed) OCL=25617 CL=25633
2009-02-13add composite literal ( ) syntax.Russ Cox1-2/+3
warn about composite literal { } syntax. R=ken OCL=25018 CL=25023
2009-02-11require type assertions when narrowing.Russ Cox1-14/+59
R=ken OCL=24350 CL=24914
2009-02-06closures - 6g supportRuss Cox1-0/+13
R=ken OCL=24501 CL=24566
2009-02-05bug064Russ Cox1-0/+19
make f(g()) work when g returns multiple args with names different than f expects. func swap(a, b int) (c, d int) { return b, a } swap(swap(1,2)) R=ken OCL=24474 CL=24476
2009-02-05allow methods on funcs.Russ Cox1-0/+1
R=ken OCL=24442 CL=24442
2009-02-04fix interface not satisifed message:Russ Cox1-1/+1
x.go:13: T is not I - missing M() NOT x.go:13: T is not I - missing Mfunc() R=ken OCL=24316 CL=24316
2009-01-30update compiler to new func rulesRuss Cox1-3/+6
R=ken OCL=23958 CL=23961
2009-01-29if take address of local, move to heap.Russ Cox1-3/+16
heuristic to not print bogus strings. fix one error message format. R=ken OCL=23849 CL=23851
2009-01-28fix possible infinite recursion in eqtype.Russ Cox1-2/+2
don't use intermediate register to move 32-or-fewer-bit immediate constants into memory. R=ken OCL=23726 CL=23726
2009-01-27change dotdotdot interfaces to be structs,Russ Cox1-1/+5
not pointers to structs. fix defered dotdotdot. R=r,ken DELTA=25 (7 added, 5 deleted, 13 changed) OCL=23620 CL=23625
2009-01-27deferKen Thompson1-3/+4
R=r OCL=23592 CL=23592
2009-01-26implement new restrictions on whatRuss Cox1-15/+5
can be compared/hashed. R=r DELTA=351 (201 added, 80 deleted, 70 changed) OCL=23423 CL=23481
2009-01-21disallow P.t for lowercase t and not our package P.Russ Cox1-7/+3
implement hiding lowercase methods m in signatures by adding in a hash of the package name to the type hash code. remove remaining checks for internally-generated _ names: they are all gone. R=ken OCL=23236 CL=23238
2009-01-206g: better genembedtramp fatal error,Russ Cox1-0/+2
and don't put inaccessible private methods in signature. R=ken OCL=23138 CL=23140
2009-01-09clean up automatic indirect, delete some dead code.Russ Cox1-46/+5
R=ken OCL=22454 CL=22457
2009-01-09now that TCHAN, TMAP, and TSTRING are real types,Russ Cox1-1/+3
can do methods on them without pointer worries. R=ken OCL=22434 CL=22436
2009-01-096g cleanup suggested by ken.Russ Cox1-35/+28
remove TPTR wrapper around TMAP, TCHAN, TSTRING. R=ken OCL=22406 CL=22409
2009-01-08second pass on interface fixes and tests.Russ Cox1-66/+163
R=ken OCL=22370 CL=22372
2009-01-08many interface bug fixes.Russ Cox1-19/+127
also, after func g() (int, int) func f(int, int) allow f(g()) and func h() (int, int) { return g() } R=ken DELTA=356 (252 added, 26 deleted, 78 changed) OCL=22319 CL=22325
2009-01-06make for slice/map/chanKen Thompson1-0/+1
new for pointers R=r OCL=22158 CL=22158
2008-12-30allow slices (open arrays) to beKen Thompson1-2/+3
receivers in methods. put back original code for hilbert/bignum R=r OCL=21910 CL=21920
2008-12-19[] and struct in interfaces.Russ Cox1-4/+1
other [] cleanup. convert() is gone. R=r DELTA=352 (144 added, 68 deleted, 140 changed) OCL=21660 CL=21662
2008-12-19chan and map of [] and structRuss Cox1-0/+6
R=r DELTA=192 (145 added, 8 deleted, 39 changed) OCL=21609 CL=21614
2008-12-19new error messagesRuss Cox1-0/+8
x.go:11: illegal types for operand: AS *I *T (*interface vs *struct) R=r DELTA=10 (8 added, 0 deleted, 2 changed) OCL=21457 CL=21602
2008-12-19compiler changes for *chan -> chan; *map -> map; new(T) -> new(*T)Russ Cox1-10/+26
mainly a syntactic change: the compiler representations don't change (chan and map are now hidden pointers like string). R=ken OCL=21578 CL=21582
2008-12-18[] fixesRuss Cox1-1/+1
R=ken OCL=21565 CL=21565
2008-12-18arraysKen Thompson1-1/+18
R=r OCL=21564 CL=21564
2008-12-09robs bug converting unsafe.pointerKen Thompson1-0/+7
R=r OCL=20834 CL=20834
2008-12-06allowed syntax for rangeKen Thompson1-0/+1
a range m (implies :=) a,b range m (implies :=) a:b range m (implies :=) a := range m a,b := range m a:b := range m a = range m a,b = range m a:b = range m R=r OCL=20676 CL=20676
2008-11-18use correct lineno in nod even if yacc has looked ahead.Russ Cox1-1/+5
makes lineno correct for statements without semicolons. R=ken OCL=19454 CL=19454
2008-11-14fix bugs in package localsRuss Cox1-1/+1
R=ken OCL=19299 CL=19299
2008-11-06change minimum sethi/ullman number to 1Russ Cox1-3/+3
to distinguish not computed (0) vs trivial (1). add missing ullmancalc on function args. R=ken OCL=18711 CL=18711
2008-11-066g ninit fixes - fixes the two test casesRuss Cox1-4/+7
i isolated last night. does not fix rob's interface-smashing bug. R=ken OCL=18698 CL=18698
2008-11-05select defaultKen Thompson1-0/+3
R=r OCL=18646 CL=18646
2008-11-05fix renamed-package bug in exported names:Russ Cox1-14/+7
always show original name R=ken OCL=18603 CL=18603
2008-11-056g interface changes:Russ Cox1-108/+27
* allow conversion between nil interface and any type. * mark signatures as DUPOK so that multiple .6 can contain sigt.*[]byte and only one gets used. R=ken OCL=18538 CL=18542
2008-11-03rename various magic names.Russ Cox1-17/+19
sigi and sigt: sys·sigi_inter -> sigi·inter sys·sigt_int -> sigt·int Package·sigt_Type -> sigt·Package.Type local type T in file x.go T_x -> T·x second one T_x_1 -> T·x·1 method names M on T T_M -> T·M correctly handle local embedded types init functions are the only place left that use underscores R=ken OCL=18377 CL=18377
2008-11-01DOTDOTDOT import/exportKen Thompson1-0/+1
R=r OCL=18319 CL=18319
2008-11-01DOTDOTDOTKen Thompson1-6/+20
R=r OCL=18317 CL=18317
2008-10-31make %Z handle embedded NULs; remove fixed-size bufferRuss Cox1-40/+27
R=r DELTA=44 (2 added, 15 deleted, 27 changed) OCL=18270 CL=18273
2008-10-30escape \ in %ZRuss Cox1-0/+1
R=ken OCL=18202 CL=18202
2008-10-30make %Z escape "Russ Cox1-0/+4
R=ken OCL=18180 CL=18180
2008-10-30struct annotations in imports.Russ Cox1-1/+3
distribute tag across multiple names. R=ken OCL=18178 CL=18178
2008-10-30structure field annotation stringsRuss Cox1-3/+6
R=ken OCL=18176 CL=18176
2008-10-29bug 113Ken Thompson1-1/+1
R=r OCL=18081 CL=18081
2008-10-29sigt_intKen Thompson1-1/+1
R=r OCL=18030 CL=18030
2008-10-29the end of life as we know itKen Thompson1-15/+33
int is new type R=r OCL=18023 CL=18023
2008-10-25bugKen Thompson1-0/+4
R=r OCL=17853 CL=17853
2008-10-25bugKen Thompson1-2/+0
R=r OCL=17852 CL=17852