Ken Thompson
a665e2924c
bug with select :=
...
R=r
OCL=25278
CL=25278
2009-02-21 12:41:34 -08:00
Russ Cox
d3d0c256be
bug123
...
R=ken
OCL=25075
CL=25075
2009-02-16 17:44:05 -08:00
Russ Cox
3b3e63735e
bug fix for &x[0] when x is slice
...
R=ken
OCL=25044
CL=25044
2009-02-15 13:15:46 -08:00
Russ Cox
07244f7c80
add composite literal ( ) syntax.
...
warn about composite literal { } syntax.
R=ken
OCL=25018
CL=25023
2009-02-13 14:48:16 -08:00
Russ Cox
5f4f5647ef
require type assertions when narrowing.
...
R=ken
OCL=24350
CL=24914
2009-02-11 17:57:29 -08:00
Russ Cox
a81870badf
add error to catch 6g alignment bug.
...
the fix appears to be to align the
out struct on an 8 boundary, but that
is a bit involved.
R=ken
OCL=24657
CL=24657
2009-02-08 11:19:45 -08:00
Russ Cox
a6c59ce274
gc funarg return fix.
...
change type (to satisfy OAS) after nodarg:
nodarg uses offset from type too,
and must use correct offset.
R=ken
OCL=24656
CL=24656
2009-02-08 11:01:52 -08:00
Russ Cox
0970c46863
closures - 6g support
...
R=ken
OCL=24501
CL=24566
2009-02-06 13:47:10 -08:00
Russ Cox
b0009bef20
bug064
...
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-05 15:22:49 -08:00
Russ Cox
9e735985d4
avoid memcpy(x, x),
...
which valgrind complains about.
R=ken
OCL=23990
CL=23990
2009-01-30 16:31:26 -08:00
Russ Cox
4a43198390
update compiler to new func rules
...
R=ken
OCL=23958
CL=23961
2009-01-30 14:39:42 -08:00
Russ Cox
391425ae55
if take address of local, move to heap.
...
heuristic to not print bogus strings.
fix one error message format.
R=ken
OCL=23849
CL=23851
2009-01-29 17:38:58 -08:00
Ken Thompson
4b8e030762
bug 135
...
R=r
OCL=23646
CL=23646
2009-01-27 18:21:03 -08:00
Russ Cox
743ac07cc3
change dotdotdot interfaces to be structs,
...
not pointers to structs.
fix defered dotdotdot.
R=r,ken
DELTA=25 (7 added, 5 deleted, 13 changed)
OCL=23620
CL=23625
2009-01-27 15:05:25 -08:00
Ken Thompson
1e1cc4eb57
defer
...
R=r
OCL=23592
CL=23592
2009-01-27 12:03:53 -08:00
Russ Cox
5b129cda5f
assignment count mismatch: 2 = 1.
...
R=ken
OCL=23534
CL=23534
2009-01-26 17:20:29 -08:00
Russ Cox
3c5f3a8641
print(map) and print(chan) as pointers.
...
R=ken
OCL=23520
CL=23520
2009-01-26 15:36:28 -08:00
Russ Cox
ae167bf08f
clean up automatic indirect, delete some dead code.
...
R=ken
OCL=22454
CL=22457
2009-01-09 15:21:41 -08:00
Russ Cox
a91af04c06
6g cleanup suggested by ken.
...
remove TPTR wrapper around TMAP, TCHAN, TSTRING.
R=ken
OCL=22406
CL=22409
2009-01-09 11:13:39 -08:00
Russ Cox
e512481b17
second pass on interface fixes and tests.
...
R=ken
OCL=22370
CL=22372
2009-01-08 18:06:06 -08:00
Russ Cox
1b7881adb4
fix:
...
type T []int
var a []int
var t = T(a)
R=ken
OCL=22341
CL=22341
2009-01-08 15:01:22 -08:00
Russ Cox
c0b8a7965a
typo
...
R=ken
OCL=22327
CL=22327
2009-01-08 14:31:11 -08:00
Russ Cox
20595ac4b0
many interface bug fixes.
...
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-08 14:30:00 -08:00
Ken Thompson
eed3addb9d
more
...
R=r
OCL=22240
CL=22240
2009-01-07 15:54:08 -08:00
Ken Thompson
3f135be389
conversion from closed array to slice
...
R=r
OCL=22236
CL=22236
2009-01-07 15:26:11 -08:00
Ken Thompson
c458c98388
[...] bug
...
R=r
OCL=22218
CL=22218
2009-01-07 13:20:10 -08:00
Ken Thompson
179af0bb19
clear automatic arrays created with literals
...
R=r
OCL=22215
CL=22215
2009-01-07 12:28:23 -08:00
Ken Thompson
b0f627a6e1
closed arrays including [...]
...
R=r
OCL=22182
CL=22182
2009-01-06 17:31:24 -08:00
Russ Cox
84953bdaa8
fix newfn
...
R=ken
OCL=22173
CL=22173
2009-01-06 15:39:28 -08:00
Russ Cox
dabdfa6cce
new new &Point{1,2}
...
R=ken
OCL=22168
CL=22168
2009-01-06 15:24:12 -08:00
Ken Thompson
88b5c5f0f8
make for slice/map/chan
...
new for pointers
R=r
OCL=22158
CL=22158
2009-01-06 14:52:26 -08:00
Ken Thompson
85815fe0ad
diagnostic to catch pointer to
...
rvalue promoted to method receiver.
fixes to bignum that failed.
R=r
OCL=21827
CL=21827
2008-12-26 14:42:20 -08:00
Russ Cox
af5e16cfd9
fix new(T) if type T []int.
...
make sure type of expr is T not just []int
R=ken
OCL=21688
CL=21688
2008-12-20 16:30:44 -08:00
Russ Cox
c3077f7606
[] and struct in interfaces.
...
other [] cleanup.
convert() is gone.
R=r
DELTA=352 (144 added, 68 deleted, 140 changed)
OCL=21660
CL=21662
2008-12-19 17:11:54 -08:00
Ken Thompson
6fa74e0973
portability bug
...
cant assign to closed array
R=r
OCL=21634
CL=21634
2008-12-19 14:04:25 -08:00
Russ Cox
cd40cd2435
fix new(bool) error message
...
R=ken
OCL=21616
CL=21616
2008-12-19 12:18:44 -08:00
Russ Cox
dc7b2e98d2
compiler changes for *chan -> chan; *map -> map; new(T) -> new(*T)
...
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-19 03:05:54 -08:00
Ken Thompson
9786f69f74
print(array)
...
R=r
OCL=21570
CL=21570
2008-12-18 22:17:05 -08:00
Russ Cox
f38d2b80a4
new []int literal
...
R=ken
OCL=21568
CL=21568
2008-12-18 21:59:12 -08:00
Ken Thompson
dcc064fe94
cmp [] to nil
...
R=r
OCL=21567
CL=21567
2008-12-18 21:33:45 -08:00
Russ Cox
78fc888e64
another [] fix
...
R=ken
OCL=21566
CL=21566
2008-12-18 21:15:26 -08:00
Russ Cox
92f74ca7e2
[] fixes
...
R=ken
OCL=21565
CL=21565
2008-12-18 21:11:56 -08:00
Ken Thompson
4026500d18
arrays
...
R=r
OCL=21564
CL=21564
2008-12-18 20:06:28 -08:00
Ken Thompson
e683fb7a54
bug104
...
R=r
OCL=21082
CL=21082
2008-12-12 13:10:36 -08:00
Russ Cox
73653841af
reject struct to interface conversion for now
...
R=ken
OCL=21007
CL=21007
2008-12-11 15:56:13 -08:00
Russ Cox
cb64ec5bb6
only generate non-trivial signatures in the
...
file in which they occur. avoids duplicate
trampoline generation across multiple files.
R=ken
OCL=20976
CL=20980
2008-12-11 11:54:33 -08:00
Ken Thompson
bf6164719a
conversion to/from
...
any pointer or uintptr
and unsafe.pointer
R=r
OCL=20795
CL=20795
2008-12-08 20:50:17 -08:00
Ken Thompson
b79272d9a2
allowed syntax for range
...
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-12-06 13:40:30 -08:00
Ken Thompson
26b357ca5b
range statement
...
R=r
OCL=20667
CL=20667
2008-12-05 18:24:05 -08:00
Ken Thompson
a0a14b98fa
empty switches -- bug128
...
R=r
OCL=20520
CL=20522
2008-12-04 16:05:40 -08:00