1. 27 Jan, 2012 9 commits
    • Brad Fitzpatrick's avatar
      flag: allow a FlagSet to not write to os.Stderr · b79ba6a6
      Brad Fitzpatrick authored
      Fixes #2747
      
      R=golang-dev, gri, r, rogpeppe, r
      CC=golang-dev
      https://golang.org/cl/5564065
      b79ba6a6
    • Rémy Oudompheng's avatar
      cgo: accept null pointers in gccgo flavour of C.GoString. · 21c65e8f
      Rémy Oudompheng authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5569074
      21c65e8f
    • Dmitriy Vyukov's avatar
      net/rpc: fix data race on Call.Error · 75397e65
      Dmitriy Vyukov authored
      +eliminates a possibility of sending a call to Done several times.
      +fixes memory leak in case of temporal Write errors.
      +fixes data race on Client.shutdown.
      +fixes data race on Client.closing.
      +fixes comments.
      Fixes #2780.
      
      R=r, rsc
      CC=golang-dev, mpimenov
      https://golang.org/cl/5571063
      75397e65
    • Ian Lance Taylor's avatar
      test: match gccgo error messages · d5b7c515
      Ian Lance Taylor authored
      complit1.go:37:34: error: may only omit types within composite literals of slice, array, or map type
      complit1.go:38:19: error: may only omit types within composite literals of slice, array, or map type
      complit1.go:18:21: error: slice of unaddressable value
      complit1.go:19:10: error: slice of unaddressable value
      complit1.go:20:9: error: slice of unaddressable value
      
      convert1.go:28:13: error: invalid type conversion
      convert1.go:32:12: error: invalid type conversion (cannot use type string as type Tint64)
      convert1.go:36:12: error: invalid type conversion
      convert1.go:37:13: error: invalid type conversion
      convert1.go:40:11: error: invalid type conversion
      convert1.go:41:12: error: invalid type conversion
      convert1.go:44:12: error: invalid type conversion
      convert1.go:46:13: error: invalid type conversion
      convert1.go:48:11: error: invalid type conversion
      convert1.go:50:12: error: invalid type conversion
      convert1.go:52:6: error: invalid type conversion
      convert1.go:53:12: error: invalid type conversion
      convert1.go:54:12: error: invalid type conversion
      convert1.go:56:13: error: invalid type conversion
      convert1.go:57:11: error: invalid type conversion
      convert1.go:58:11: error: invalid type conversion
      convert1.go:64:13: error: invalid type conversion
      convert1.go:68:12: error: invalid type conversion (cannot use type Tstring as type Tint64)
      convert1.go:72:12: error: invalid type conversion
      convert1.go:73:13: error: invalid type conversion
      convert1.go:76:11: error: invalid type conversion (cannot use type Tbyte as type Trune)
      convert1.go:77:12: error: invalid type conversion (cannot use type Tbyte as type Tint64)
      convert1.go:80:12: error: invalid type conversion
      convert1.go:82:13: error: invalid type conversion
      convert1.go:84:11: error: invalid type conversion (cannot use type Trune as type Tbyte)
      convert1.go:86:12: error: invalid type conversion (cannot use type Trune as type Tint64)
      convert1.go:88:6: error: invalid type conversion (cannot use type Tint64 as type string)
      convert1.go:89:12: error: invalid type conversion
      convert1.go:90:12: error: invalid type conversion
      convert1.go:92:13: error: invalid type conversion (cannot use type Tint64 as type Tstring)
      convert1.go:93:11: error: invalid type conversion (cannot use type Tint64 as type Tbyte)
      convert1.go:94:11: error: invalid type conversion (cannot use type Tint64 as type Trune)
      
      fixedbugs/bug195.go:9:21: error: interface contains embedded non-interface
      fixedbugs/bug195.go:12:21: error: interface contains embedded non-interface
      fixedbugs/bug195.go:15:15: error: interface contains embedded non-interface
      fixedbugs/bug195.go:18:2: error: invalid recursive interface
      fixedbugs/bug195.go:26:2: error: invalid recursive interface
      fixedbugs/bug195.go:22:2: error: invalid recursive interface
      
      fixedbugs/bug251.go:15:2: error: invalid recursive interface
      fixedbugs/bug251.go:11:2: error: invalid recursive interface
      
      fixedbugs/bug374.go:18:34: error: use of undefined type ‘xxxx’
      fixedbugs/bug374.go:16:5: error: incompatible type in initialization (incompatible type for method ‘m’ (different number of parameters))
      
      fixedbugs/bug383.go:11:2: error: expected boolean expression
      fixedbugs/bug383.go:12:2: error: expected boolean expression
      
      fixedbugs/bug386.go:10:25: error: incompatible type for return value 1 (type has no methods)
      fixedbugs/bug386.go:12:25: error: incompatible type for return value 1 (type has no methods)
      
      fixedbugs/bug388.go:12:10: error: invalid named/anonymous mix
      fixedbugs/bug388.go:17:19: error: non-name on left side of ‘:=’
      fixedbugs/bug388.go:22:9: error: non-name on left side of ‘:=’
      fixedbugs/bug388.go:27:10: error: expected type
      fixedbugs/bug388.go:32:9: error: expected type
      fixedbugs/bug388.go:23:14: error: reference to field ‘i’ in object which has no fields or methods
      fixedbugs/bug388.go:18:18: error: invalid use of type
      
      fixedbugs/bug389.go:12:5: error: incompatible type in initialization (different parameter types)
      
      fixedbugs/bug390.go:15:24: error: expected integer, floating, or complex type
      
      fixedbugs/bug394.go:10:1: error: expected declaration
      
      fixedbugs/bug397.go:12:2: error: incompatible type for element 2 key in map construction
      
      switch3.go:18:2: error: incompatible types in binary expression
      switch3.go:22:2: error: incompatible types in binary expression
      switch3.go:28:2: error: map can only be compared to nil
      switch3.go:35:2: error: slice can only be compared to nil
      switch3.go:42:2: error: func can only be compared to nil
      
      syntax/else.go:11:9: error: expected ‘if’ or ‘{’
      
      typeswitch2.go:15:2: error: duplicate type in switch
      typeswitch2.go:19:2: error: duplicate type in switch
      typeswitch2.go:26:2: error: duplicate type in switch
      typeswitch2.go:40:9: error: ‘t’ declared and not used
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/5573073
      d5b7c515
    • Andrew Gerrand's avatar
      tag weekly.2012-01-27 · 9a2f460d
      Andrew Gerrand authored
      R=nigeltao
      CC=golang-dev
      https://golang.org/cl/5576054
      9a2f460d
    • Andrew Gerrand's avatar
      weekly.2012-01-27 · 6786185f
      Andrew Gerrand authored
      R=golang-dev, dsymonds
      CC=golang-dev
      https://golang.org/cl/5577060
      6786185f
    • David Symonds's avatar
    • Gustavo Niemeyer's avatar
      cmd/go: solve ambiguity of get lp.net/project/foo · cdbed823
      Gustavo Niemeyer authored
      This solves the ambiguity for "lp.net/project/foo". In these URLs,
      "foo" could be a series name registered in Launchpad with its own
      branch, and it could also be the name of a directory within the
      main project branch one level up.
      
      Solve it by testing if the series branch exists in Launchpad
      and if it doesn't moving the root one level up.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/5577058
      cdbed823
    • David Symonds's avatar
      gc: permit unsafe.Pointer for inlined functions. · 2332439b
      David Symonds authored
      R=rsc, rsc
      CC=golang-dev
      https://golang.org/cl/5573075
      2332439b
  2. 26 Jan, 2012 29 commits
  3. 25 Jan, 2012 2 commits
    • Gustavo Niemeyer's avatar
      gofix: handle xml.Unmarshal in xmlapi fix · 9d4ae0ae
      Gustavo Niemeyer authored
      This improves the handling of xml.Unmarshal in
      the xmlapi fix by guessing some of the common
      types used on it.
      
      This also fixes a bug in the partial typechecker.
      In an expression such as f(&a), it'd mark a as
      having &T rather than *T.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5572058
      9d4ae0ae
    • David G. Andersen's avatar
      math/big: assembly versions of bitLen for x86-64, 386, and ARM. · 316f81bb
      David G. Andersen authored
      Roughly 2x speedup for the internal bitLen function in arith.go.  Added TestWordBitLen test.
      
      Performance differences against the new version of
      bitLen generic:
      
      x86-64 Macbook pro (current tip):
      
      benchmark                old ns/op    new ns/op    delta
      big.BenchmarkBitLen0             6            4  -37.40%
      big.BenchmarkBitLen1             6            2  -51.79%
      big.BenchmarkBitLen2             6            2  -65.04%
      big.BenchmarkBitLen3             6            2  -66.10%
      big.BenchmarkBitLen4             6            2  -60.96%
      big.BenchmarkBitLen5             6            2  -55.80%
      big.BenchmarkBitLen8             6            2  -56.19%
      big.BenchmarkBitLen9             6            2  -64.73%
      big.BenchmarkBitLen16            7            2  -68.84%
      big.BenchmarkBitLen17            6            2  -67.11%
      big.BenchmarkBitLen31            7            2  -61.57%
      
      386 Intel Atom (current tip):
      benchmark                old ns/op    new ns/op    delta
      big.BenchmarkBitLen0            23           20  -13.04%
      big.BenchmarkBitLen1            23           20  -14.77%
      big.BenchmarkBitLen2            24           20  -19.28%
      big.BenchmarkBitLen3            25           20  -21.57%
      big.BenchmarkBitLen4            24           20  -16.94%
      big.BenchmarkBitLen5            25           20  -20.78%
      big.BenchmarkBitLen8            24           20  -19.28%
      big.BenchmarkBitLen9            25           20  -20.47%
      big.BenchmarkBitLen16           26           20  -23.37%
      big.BenchmarkBitLen17           26           20  -25.09%
      big.BenchmarkBitLen31           32           20  -35.51%
      
      ARM v5 SheevaPlug, previous weekly patched with bitLen:
      benchmark                old ns/op    new ns/op    delta
      big.BenchmarkBitLen0            50           29  -41.73%
      big.BenchmarkBitLen1            51           29  -42.75%
      big.BenchmarkBitLen2            59           29  -50.08%
      big.BenchmarkBitLen3            60           29  -50.75%
      big.BenchmarkBitLen4            59           29  -50.08%
      big.BenchmarkBitLen5            60           29  -50.75%
      big.BenchmarkBitLen8            59           29  -50.08%
      big.BenchmarkBitLen9            60           29  -50.75%
      big.BenchmarkBitLen16           69           29  -57.35%
      big.BenchmarkBitLen17           70           29  -57.89%
      big.BenchmarkBitLen31           95           29  -69.07%
      
      R=golang-dev, minux.ma, gri
      CC=golang-dev
      https://golang.org/cl/5574054
      316f81bb