1. 01 Jul, 2009 2 commits
    • Russ Cox's avatar
      in preparation for changing 6g's behavior to · 88e7fd54
      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
    • Rob Pike's avatar
      scalar decoders · b9689433
      Rob Pike authored
      R=rsc
      DELTA=897  (728 added, 14 deleted, 155 changed)
      OCL=30955
      CL=30955
      b9689433
  2. 30 Jun, 2009 5 commits
  3. 29 Jun, 2009 9 commits
  4. 27 Jun, 2009 3 commits
  5. 26 Jun, 2009 10 commits
  6. 25 Jun, 2009 11 commits