The Go programming language
Go to file
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
doc Change os.Error convention: 2009-06-25 20:24:55 -07:00
include fix gotest by fixing nm -s to print in file order by storing a sequence number 2009-04-15 21:57:55 -07:00
lib tweak the newlines so the headers stand out better. 2009-06-22 14:18:23 -07:00
misc/xcode xcode config files, self-describing 2009-05-20 16:09:34 -07:00
pkg clear out pkg tree in clean.bash. 2009-05-20 11:12:05 -07:00
src in preparation for changing 6g's behavior to 2009-06-30 20:01:41 -07:00
test bug163 bug164 bug166 2009-06-29 17:46:22 -07:00
usr - install gofmt in src/cmd/gofmt 2009-06-16 12:03:32 -07:00