-
Russ Cox authored
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
88e7fd54
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
archive/tar | ||
base64 | ||
bignum | ||
bufio | ||
bytes | ||
compress | ||
container | ||
crypto | ||
datafmt | ||
debug/macho/testdata | ||
exec | ||
exvar | ||
flag | ||
fmt | ||
go | ||
gob | ||
hash | ||
http | ||
io | ||
json | ||
log | ||
malloc | ||
math | ||
net | ||
once | ||
os | ||
path | ||
rand | ||
reflect | ||
regexp | ||
runtime | ||
sort | ||
strconv | ||
strings | ||
sync | ||
syscall | ||
tabwriter | ||
template | ||
testing | ||
time | ||
unicode | ||
unsafe | ||
utf8 | ||
xml | ||
Make.deps | ||
Makefile | ||
deps.bash |