1. 01 Jul, 2009 8 commits
    • Russ Cox's avatar
      add test, fix bug: structs that differ in their · a439f662
      Russ Cox authored
      first field were not being handled correctly
      because the visited map did not include the type.
      
      R=r
      OCL=31006
      CL=31006
      a439f662
    • David Symonds's avatar
      Fix a doc typo. · 25706fec
      David Symonds authored
      R=rsc
      APPROVED=rsc
      DELTA=1  (0 added, 0 deleted, 1 changed)
      OCL=30967
      CL=30990
      25706fec
    • Russ Cox's avatar
      clean up some BUG/TODO in go code · 55e790a1
      Russ Cox authored
      R=r
      DELTA=23  (1 added, 12 deleted, 10 changed)
      OCL=30957
      CL=30980
      55e790a1
    • Russ Cox's avatar
      change alignment rules: roll receiver into · 20cfa4a5
      Russ Cox authored
      input parameters, move output parameters
      into their own struct.
      
      R=ken
      OCL=30954
      CL=30966
      20cfa4a5
    • Russ Cox's avatar
      remove declarations for functions that cannot be called from c · 150a6457
      Russ Cox authored
      (because they return values in the input parameters).
      
      R=iant
      DELTA=12  (0 added, 11 deleted, 1 changed)
      OCL=30952
      CL=30965
      150a6457
    • Russ Cox's avatar
      convert string runtime to use cgo. · fa40c856
      Russ Cox authored
      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
      fa40c856
    • 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 5 commits
    • Russ Cox's avatar
      the any fix was too aggressive; allow any in any import. · 1ea28570
      Russ Cox authored
      R=ken
      OCL=30768
      CL=30768
      1ea28570
    • Russ Cox's avatar
      package main · fa6df479
      Russ Cox authored
      const foo = []int{1,2}
      
      x.go:3: expression must be a constant
      
      instead of
      
      x.go:3: fatal error: gettype: addtop
      
      R=ken
      OCL=30767
      CL=30767
      fa6df479
    • Russ Cox's avatar
      better error; clean up lineno in a few places · 70a27347
      Russ Cox authored
      wreck.mtv=; cat x.go
      package main
      var x = string.Split()
      wreck.mtv=; 6g x.go
      x.go:2: type string used as expression
      x.go:2: undefined DOT Split on string
      x.go:3: illegal types for operand: AS
      	undefined
      wreck.mtv=;
      
      BUG=1938751
      R=ken
      OCL=30766
      CL=30766
      70a27347
    • Russ Cox's avatar
      package main · 4bce6d45
      Russ Cox authored
      func foo(y) { }
      
      was:
      x.go:2: NONAME-y G0 u(1) a(1) l(77) x(-1000000000) is not a type
      
      now:
      x.go:2: y is not a type
      
      R=ken
      OCL=30764
      CL=30764
      4bce6d45
    • Russ Cox's avatar
      disable "any" except during canned imports. · 30f2799f
      Russ Cox authored
      new flag -A enables it during mkbuiltin.
      avoids mysterious errors in programs
      that refer to any accidentally.
      
      R=ken
      OCL=30763
      CL=30763
      30f2799f