Russ Cox
75fe1303c1
maps have == so maps are okay as map keys.
...
alignment issue is fixed.
R=ken
OCL=31124
CL=31144
2009-07-03 09:44:59 -07:00
Kai Backman
84ded32817
sys.cas for mutex
...
R=rsc
APPROVED=rsc
DELTA=28 (28 added, 0 deleted, 0 changed)
OCL=31128
CL=31130
2009-07-02 22:05:06 -07:00
Kai Backman
84ef63b9d5
minor comment and debug flag for dumping all oplooks.
...
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=31016
CL=31126
2009-07-02 21:35:39 -07:00
Russ Cox
29aa3ffbf6
move Structrnd to runtime.h
...
R=ken
OCL=31125
CL=31125
2009-07-02 21:25:46 -07:00
Rob Pike
265674fa57
slices
...
R=rsc
DELTA=59 (44 added, 13 deleted, 2 changed)
OCL=31105
CL=31105
2009-07-02 18:02:42 -07:00
Rob Pike
c1fc4c8f37
indirection on array elements.
...
R=rsc
DELTA=57 (34 added, 10 deleted, 13 changed)
OCL=31098
CL=31101
2009-07-02 17:21:48 -07:00
Russ Cox
b5666a123a
add Uitoa etc.
...
R=r
DELTA=113 (89 added, 9 deleted, 15 changed)
OCL=31087
CL=31096
2009-07-02 16:57:46 -07:00
Rob Pike
0c33d4353e
arrays, not slices, and only with non-pointer elements.
...
(actually slices encode but do not decode yet)
R=rsc
DELTA=221 (82 added, 65 deleted, 74 changed)
OCL=31095
CL=31095
2009-07-02 16:43:46 -07:00
Rob Pike
29e6eb21ec
make a description of the slice header public
...
R=rsc
DELTA=18 (3 added, 0 deleted, 15 changed)
OCL=31086
CL=31094
2009-07-02 16:28:04 -07:00
Russ Cox
c7a9d9818a
fix atoi test
...
R=r
DELTA=28 (5 added, 0 deleted, 23 changed)
OCL=31093
CL=31093
2009-07-02 16:24:44 -07:00
Ian Lance Taylor
7ae0c67825
Recognize gccgo error message.
...
bug022.go:8:13: error: attempt to index object which is not array, string, or map
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=31082
CL=31089
2009-07-02 15:55:17 -07:00
Ian Lance Taylor
f1428b2910
Recognize gccgo error messages.
...
(Amusing side note: the GNU coding standards say: Please do
not use the term "illegal" to refer to erroneous input to a
computer program. Please use "invalid" for this, and reserve
the term "illegal" for activities prohibited by law.)
indirect1.go:35:3: error: argument must be string or array or slice or map
indirect1.go:36:3: error: argument must be string or array or slice or map
indirect1.go:38:3: error: argument must be string or array or slice or map
indirect1.go:41:3: error: argument must be string or array or slice or map
indirect1.go:42:3: error: argument must be string or array or slice or map
indirect1.go:44:3: error: argument must be string or array or slice or map
indirect1.go:55:3: error: argument must be string or array or slice or map
indirect1.go:56:3: error: argument must be string or array or slice or map
indirect1.go:58:3: error: argument must be string or array or slice or map
indirect1.go:61:3: error: argument must be array or slice
indirect1.go:62:3: error: argument must be array or slice
indirect1.go:64:3: error: argument must be array or slice
R=rsc
DELTA=12 (0 added, 0 deleted, 12 changed)
OCL=31081
CL=31088
2009-07-02 15:54:57 -07:00
Robert Griesemer
b70563aa0a
- store trailing comments after top-level declarations in ast
...
- remove a test case w/ syntax errors from test suite
R=rsc
DELTA=104 (44 added, 5 deleted, 55 changed)
OCL=31078
CL=31085
2009-07-02 15:38:36 -07:00
Rob Pike
77baac11e1
encode and decode for nested structures.
...
fix a bug in delta encoding: only update the delta-base if something is marshaled.
R=rsc
DELTA=154 (94 added, 56 deleted, 4 changed)
OCL=31069
CL=31071
2009-07-02 13:43:47 -07:00
Rob Pike
1ca1e1befa
encoders and decoders for string, []uint8
...
R=rsc
DELTA=165 (145 added, 6 deleted, 14 changed)
OCL=31051
CL=31056
2009-07-02 11:21:01 -07:00
Rob Pike
519a70da54
fix bug in $GOROOT handling: error calling Getenv.
...
R=gri
OCL=31047
CL=31047
2009-07-02 09:47:25 -07:00
Rob Pike
22b93dfb5c
now that we have a separate indirection test, simplify the scalar tests.
...
R=rsc
DELTA=562 (8 added, 424 deleted, 130 changed)
OCL=31039
CL=31045
2009-07-02 09:22:38 -07:00
Rob Pike
671f807e2e
simplify decoders. error checking is done higher up.
...
if there is an error, we will write one more value into the struct but in return
we do fewer tests in the decode.
R=rsc
DELTA=56 (0 added, 42 deleted, 14 changed)
OCL=31041
CL=31044
2009-07-02 09:22:30 -07:00
Rob Pike
c0271c4bc2
fix bug in decoders: got indirection wrong when allocation not required.
...
write indirection test.
next step: cut down scalar tests since indirection is centralized.
R=rsc
DELTA=114 (83 added, 3 deleted, 28 changed)
OCL=31020
CL=31037
2009-07-02 08:21:42 -07:00
Rob Pike
b1e64585b6
move dereference code out of the ops and into the interpreter loops.
...
R=rsc
DELTA=574 (40 added, 149 deleted, 385 changed)
OCL=31017
CL=31019
2009-07-01 23:04:27 -07:00
Rob Pike
c701af8c80
Encode and decode engines for gobs.
...
R=rsc
DELTA=468 (292 added, 18 deleted, 158 changed)
OCL=31008
CL=31012
2009-07-01 18:25:13 -07:00
Russ Cox
a439f66228
add test, fix bug: structs that differ in their
...
first field were not being handled correctly
because the visited map did not include the type.
R=r
OCL=31006
CL=31006
2009-07-01 16:45:09 -07:00
David Symonds
25706fec19
Fix a doc typo.
...
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=30967
CL=30990
2009-07-01 15:07:20 -07:00
Russ Cox
55e790a160
clean up some BUG/TODO in go code
...
R=r
DELTA=23 (1 added, 12 deleted, 10 changed)
OCL=30957
CL=30980
2009-07-01 07:32:04 -07:00
Russ Cox
20cfa4a568
change alignment rules: roll receiver into
...
input parameters, move output parameters
into their own struct.
R=ken
OCL=30954
CL=30966
2009-06-30 20:02:07 -07:00
Russ Cox
150a64572b
remove declarations for functions that cannot be called from c
...
(because they return values in the input parameters).
R=iant
DELTA=12 (0 added, 11 deleted, 1 changed)
OCL=30952
CL=30965
2009-06-30 20:01:59 -07:00
Russ Cox
fa40c856ac
convert string runtime to use cgo.
...
now that cgo2c can handle it,
merge x.c and x_go.cgo into
a single x.cgo, for x=float,malloc,sema.
R=r
DELTA=1950 (954 added, 996 deleted, 0 changed)
OCL=30951
CL=30964
2009-06-30 20:01:50 -07:00
Russ Cox
88e7fd5410
in preparation for changing 6g's behavior to
...
align the output args separately from the input args,
change cgo2c to insert the necessary padding
when the two arg lists are concatenated in the c
translation.
for example, there is a runtime
func indexstring(s string, i int32) (b byte)
right now in 6g those arguments are aligned in one
struct with s at offset 0, i at 16, and b at 20.
soon the b byte will be in its own struct and structs
are 8 aligned, so it will be b at 24.
right now cgo2c generates:
void indexstring(string s, int32 i, byte b)
this CL makes it generate, in --6g mode:
void indexstring(string s, int32 i, uint32, byte b)
this is valid 6c input, although not valid gcc input.
(the code is being generated for 6c only anyway.)
also, allow C code to be mixed in among the Go funcs.
every instance of the token `func' is expected to start
a new go func.
R=iant
DELTA=145 (118 added, 0 deleted, 27 changed)
OCL=30949
CL=30963
2009-06-30 20:01:41 -07:00
Rob Pike
b968943332
scalar decoders
...
R=rsc
DELTA=897 (728 added, 14 deleted, 155 changed)
OCL=30955
CL=30955
2009-06-30 17:59:41 -07:00
Rob Pike
79b2cf92d9
pass the state to the encoders and decoders so error handling can be centralized.
...
R=rsc
DELTA=172 (40 added, 6 deleted, 126 changed)
OCL=30941
CL=30944
2009-06-30 16:20:31 -07:00
Rob Pike
f6f825141a
encoders for booleans and numbers.
...
R=rsc
DELTA=610 (597 added, 5 deleted, 8 changed)
OCL=30934
CL=30939
2009-06-30 15:37:46 -07:00
Russ Cox
832e72beff
delete io.ByteBuffer
...
R=r
DELTA=25 (0 added, 15 deleted, 10 changed)
OCL=30892
CL=30892
2009-06-29 20:53:05 -07:00
Russ Cox
5d5904bb4d
bug163 bug164 bug166
...
R=ken
OCL=30889
CL=30889
2009-06-29 17:46:22 -07:00
Russ Cox
df36629d76
bug041 not a bug.
...
can now forward declare across files
R=r
DELTA=15 (0 added, 15 deleted, 0 changed)
OCL=30873
CL=30880
2009-06-29 17:21:33 -07:00
Russ Cox
d3a412a5ab
io.StringBytes -> strings.Bytes
...
io.ByteBuffer -> bytes.Buffer
left io.ByteBuffer stub around for now,
for protocol compiler.
R=r
OCL=30861
CL=30872
2009-06-29 15:24:23 -07:00
Rob Pike
b948c437a1
integer encode/decode
...
R=rsc
DELTA=185 (175 added, 10 deleted, 0 changed)
OCL=30863
CL=30871
2009-06-29 15:15:07 -07:00
Russ Cox
8f9a953760
make use of forward method declaration
...
R=r
DELTA=11 (0 added, 6 deleted, 5 changed)
OCL=30862
CL=30870
2009-06-29 15:13:56 -07:00
Russ Cox
9435dc2bdf
allow forward declaration of struct in another file
...
(in the same package).
allow forward method declaration to be satisfied
by implementation in another file (in the same package).
all methods must be declared in the same file
as the receiver type.
R=ken
OCL=30864
CL=30869
2009-06-29 15:13:37 -07:00
Russ Cox
3119221ed8
bogus test: planning to allow forward declarations
...
of structs/interfaces in other files in the package.
R=r
DELTA=12 (0 added, 12 deleted, 0 changed)
OCL=30865
CL=30868
2009-06-29 15:13:18 -07:00
Russ Cox
b32769b1a3
add os.Hostname
...
R=r
DELTA=188 (182 added, 3 deleted, 3 changed)
OCL=30856
CL=30860
2009-06-29 13:44:46 -07:00
Ian Lance Taylor
6a71f43f82
6g appears to permit semicolons to be omitted after qualified
...
identifiers. This is not one of the exceptions permitted by
th spec.
R=ken,rsc
DELTA=11 (11 added, 0 deleted, 0 changed)
OCL=30844
CL=30852
2009-06-29 12:52:08 -07:00
Rob Pike
2b08372710
add []byte as a special case: it will have a special, efficient encoding.
...
R=rsc
DELTA=16 (9 added, 1 deleted, 6 changed)
OCL=30846
CL=30846
2009-06-29 11:29:47 -07:00
Rob Pike
104d0246ea
fix gobuild bug
...
R=rsc
DELTA=4 (3 added, 0 deleted, 1 changed)
OCL=30845
CL=30845
2009-06-29 11:19:38 -07:00
Kai Backman
b2871b727e
working on bgen
...
- removed smallint optimizations
- lifted raddr from 5c
- add back %R, was used in gc/* causing -g to crash
- changed naddr OREGISTER to emit D_REG instead of D_OREG
R=rsc
APPROVED=rsc
DELTA=74 (38 added, 28 deleted, 8 changed)
OCL=30799
CL=30822
2009-06-26 22:04:30 -07:00
Rob Pike
d330c712c1
Getenv: almost no one wants the error, so make it return a string that may be empty.
...
Getenverror is the new name for the old routine that returns an error too.
R=rsc
DELTA=35 (7 added, 7 deleted, 21 changed)
OCL=30818
CL=30821
2009-06-26 20:28:41 -07:00
Rob Pike
ac7f2152eb
the first time a structure type appears when printing, identify it by name:
...
type Foo struct { a int; next *Foo }
produces
"Foo = struct { a int; next Foo }"
R=rsc
OCL=30797
CL=30820
2009-06-26 20:28:06 -07:00
Kai Backman
d6197d94b5
Adding more debug output when 5l encounters a bad op
...
combination.
R=rsc
APPROVED=rsc
DELTA=69 (68 added, 0 deleted, 1 changed)
OCL=30798
CL=30801
2009-06-26 13:44:25 -07:00
Kai Backman
4556c04d8b
more changes to make 5g code generation arm compatible.
...
R=rsc
APPROVED=rsc
DELTA=72 (12 added, 52 deleted, 8 changed)
OCL=30748
CL=30793
2009-06-26 04:08:20 -07:00
Rob Pike
7986de6e51
gobs part 1: types.
...
not ready to be part of the standard build yet; this is just a checkpoint.
R=rsc
DELTA=361 (361 added, 0 deleted, 0 changed)
OCL=30782
CL=30785
2009-06-25 22:08:51 -07:00
David Symonds
a2a827542a
http Request parsing, plus a convenient accessor.
...
R=rsc
APPROVED=rsc
DELTA=95 (40 added, 14 deleted, 41 changed)
OCL=30727
CL=30784
2009-06-25 21:05:44 -07:00