1. 16 Dec, 2013 8 commits
    • Russ Cox's avatar
      debug/goobj: add package for reading new Go object files · 08b846b1
      Russ Cox authored
      R=golang-dev, r, iant
      CC=golang-dev
      https://golang.org/cl/40610043
      08b846b1
    • Russ Cox's avatar
      cmd/nm: reimplement in Go · 500547f2
      Russ Cox authored
      The immediate goal is to support the new object file format,
      which libmach (nm's support library) does not understand.
      Rather than add code to libmach or reengineer liblink to
      support this new use, just write it in Go.
      
      The C version of nm reads the Plan 9 symbol table stored in
      Go binaries, now otherwise unused.
      
      This reimplementation uses the standard symbol table for
      the corresponding file format instead, bringing us one step
      closer to removing the Plan 9 symbol table from Go binaries.
      
      Tell cmd/dist not to build cmd/nm anymore.
      Tell cmd/go to install cmd/nm in the tool directory.
      
      R=golang-dev, r, iant, alex.brainman
      CC=golang-dev
      https://golang.org/cl/40600043
      500547f2
    • Russ Cox's avatar
      cmd/ld: move instruction selection + layout into compilers, assemblers · a9f6db58
      Russ Cox authored
      - new object file reader/writer (liblink/objfile.c)
      - remove old object file writing routines
      - add pcdata iterator
      - remove all trace of "line number stack" and "path fragments" from
        object files, linker (!!!)
      - dwarf now writes a single "compilation unit" instead of one per package
      
      This CL disables the check for chains of no-split functions that
      could overflow the stack red zone. A future CL will attack the problem
      of reenabling that check (issue 6931).
      
      This CL is just the liblink and cmd/ld changes.
      There are minor associated adjustments in CL 37030045.
      Each depends on the other.
      
      R=golang-dev, dave, iant
      CC=golang-dev
      https://golang.org/cl/39680043
      a9f6db58
    • Russ Cox's avatar
      cmd/cc, cmd/gc: update compilers, assemblers for liblink changes · 870e821d
      Russ Cox authored
      - add buffered stdout to all tools and provide to link ctxt.
      - avoid extra \n before ! in .6 files written by assemblers
        (makes them match the C compilers).
      - use linkwriteobj instead of linkouthist+linkwritefuncs.
      - in assemblers and C compilers, record pc explicitly in Prog,
        for use by liblink.
      - in C compilers, preserve jump target links.
      - in Go compilers (gsubr.c) attach gotype directly to
        corresponding LSym* instead of rederiving from instruction stream.
      - in Go compilers, emit just one definition for runtime.zerovalue
        from each compilation.
      
      This CL consists entirely of small adjustments.
      The heavy lifting is in CL 39680043.
      Each depends on the other.
      
      R=golang-dev, dave, iant
      CC=golang-dev
      https://golang.org/cl/37030045
      870e821d
    • Robin Eklind's avatar
      strings: Add FieldsFunc example. · a6ebc88b
      Robin Eklind authored
      R=golang-dev, dave
      CC=golang-dev
      https://golang.org/cl/42360043
      a6ebc88b
    • Shenghou Ma's avatar
      doc/install-source.html: mention make.bash to skip tests · c184940d
      Shenghou Ma authored
      R=golang-dev, adg
      CC=golang-dev
      https://golang.org/cl/42590043
      c184940d
    • Dave Cheney's avatar
      unicode/utf16: add explicit test for decoding invalid runes. · 62baae6e
      Dave Cheney authored
      The EncodeRune test exercises DecodeRune, but only for runes that it can encode. Add an explicit test for invalid utf16 surrogate pairs.
      
      Bonus: coverage is now 100%
      
      unicode/utf16/utf16.go: IsSurrogate     100.0%
      unicode/utf16/utf16.go: DecodeRune      100.0%
      unicode/utf16/utf16.go: EncodeRune      100.0%
      unicode/utf16/utf16.go: Encode          100.0%
      unicode/utf16/utf16.go: Decode          100.0%
      total:                  (statements)    100.0%
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/39150044
      62baae6e
    • Dave Cheney's avatar
      unicode/utf16: add explicit tests for IsSurrogate · fb31a0b1
      Dave Cheney authored
      Update #6956
      
      Add tests for IsSurrogate.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/42570043
      fb31a0b1
  2. 15 Dec, 2013 3 commits
  3. 13 Dec, 2013 15 commits
    • Andrew Gerrand's avatar
      A+C: Aram Hăvărneanu (individual CLA) · be51b961
      Andrew Gerrand authored
      Generated by addca.
      
      R=gobot
      CC=golang-dev
      https://golang.org/cl/42090043
      be51b961
    • Russ Cox's avatar
      runtime: fix crash in runtime.GoroutineProfile · bc135f64
      Russ Cox authored
      This is a possible Go 1.2.1 candidate.
      
      Fixes #6946.
      
      R=iant, r
      CC=golang-dev
      https://golang.org/cl/41640043
      bc135f64
    • Shenghou Ma's avatar
      bytes: fix description of FieldsFunc · c134ce27
      Shenghou Ma authored
      Similar to CL 3814041 that fixed the same issue in strings.
      Fixes #6941.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41490045
      c134ce27
    • Ian Lance Taylor's avatar
      test: match gccgo import error messages · d270e6f2
      Ian Lance Taylor authored
      Gccgo doesn't have the same equivalent of file name and
      package as the gc compiler, so the error messages are
      necessarily different.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/40510048
      d270e6f2
    • Ian Lance Taylor's avatar
      .hgignore: remove duplicate entry · 74a43546
      Ian Lance Taylor authored
      R=golang-dev, adg
      CC=golang-dev
      https://golang.org/cl/40690048
      74a43546
    • Ian Lance Taylor's avatar
      debug/dwarf: remove unused field addrsize from Data · 52ecd2ce
      Ian Lance Taylor authored
      The addrsize field is not a constant for an entire executable
      file, and is now handled by the dataFormat interface when
      reading the data.
      
      R=golang-dev, minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/41620043
      52ecd2ce
    • Ian Lance Taylor's avatar
      reflect: correct function name in panic string · c0946afb
      Ian Lance Taylor authored
      R=golang-dev, minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/36840045
      c0946afb
    • Ian Lance Taylor's avatar
      doc: change "threads" to "goroutines" · 8189605a
      Ian Lance Taylor authored
      R=golang-dev, minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/40510049
      8189605a
    • Ian Lance Taylor's avatar
      .hgignore: remove merge markers · 1e6996ff
      Ian Lance Taylor authored
      R=golang-dev, dsymonds
      CC=golang-dev
      https://golang.org/cl/40720049
      1e6996ff
    • Ian Lance Taylor's avatar
      test: match gccgo error messages · 5ddc6bd8
      Ian Lance Taylor authored
      fixedbugs/issue4510.dir/f2.go:7: error: 'fmt' defined as both imported name and global name
      f1.go:7: note: 'fmt' imported here
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41530044
      5ddc6bd8
    • Ian Lance Taylor's avatar
      test: match gccgo error messages · 161a45af
      Ian Lance Taylor authored
      const1.go:33: error: integer constant overflow
      <similar errors omitted>
      const1.go:64: error: division by zero
      const1.go:67: error: floating point constant overflow
      const1.go:68: error: floating point constant overflow
      const1.go:69: error: floating point constant overflow
      const1.go:70: error: division by zero
      const1.go:71: error: expected integer type
      const1.go:77: error: argument 1 has incompatible type (cannot use type int8 as type int)
      const1.go:78: error: argument 1 has incompatible type (cannot use type int8 as type int)
      const1.go:79: error: argument 1 has incompatible type (cannot use type uint8 as type int)
      const1.go:81: error: argument 1 has incompatible type (cannot use type float32 as type int)
      const1.go:82: error: argument 1 has incompatible type (cannot use type float64 as type int)
      const1.go:83: error: floating point constant truncated to integer
      const1.go:85: error: argument 1 has incompatible type (cannot use type float64 as type int)
      const1.go:86: error: argument 1 has incompatible type (cannot use type string as type int)
      const1.go:87: error: argument 1 has incompatible type (cannot use type bool as type int)
      const1.go:90: error: const initializer cannot be nil
      const1.go:91: error: expression is not constant
      const1.go:92: error: expression is not constant
      const1.go:93: error: invalid constant type
      const1.go:94: error: invalid constant type
      fixedbugs/bug462.go:17: error: unknown field 'os.File' in 'T'
      fixedbugs/issue3705.go:9: error: cannot declare init - must be func
      fixedbugs/issue4251.go:12: error: inverted slice range
      fixedbugs/issue4251.go:16: error: inverted slice range
      fixedbugs/issue4251.go:20: error: inverted slice range
      fixedbugs/issue4405.go:11: error: invalid character 0x7 in identifier
      fixedbugs/issue4405.go:12: error: invalid character 0x8 in identifier
      fixedbugs/issue4405.go:13: error: invalid character 0xb in identifier
      fixedbugs/issue4405.go:14: error: invalid character 0xc in identifier
      fixedbugs/issue4429.go:15: error: expected pointer
      fixedbugs/issue4517d.go:9: error: cannot import package as init
      fixedbugs/issue4545.go:17: error: invalid context-determined non-integer type for left operand of shift
      fixedbugs/issue4545.go:16: error: incompatible types in binary expression
      fixedbugs/issue4610.go:15: error: expected ';' or '}' or newline
      fixedbugs/issue4610.go:16: error: expected declaration
      fixedbugs/issue4654.go:15: error: value computed is not used
      <similar errors omitted>
      fixedbugs/issue4776.go:9: error: program must start with package clause
      fixedbugs/issue4776.go:9: error: expected ';' or newline after package clause
      fixedbugs/issue4813.go:31: error: index must be integer
      <similar errors omitted>
      fixedbugs/issue4847.go:22: error: initialization expression for 'matchAny' depends upon itself
      fixedbugs/issue5089.go:13: error: redefinition of 'bufio.Buffered': receiver name changed
      fixedbugs/issue5089.go:11: note: previous definition of 'bufio.Buffered' was here
      fixedbugs/issue5172.go:17: error: reference to undefined field or method 'bar'
      fixedbugs/issue5172.go:18: error: reference to undefined field or method 'bar'
      fixedbugs/issue5172.go:12: error: use of undefined type 'bar'
      fixedbugs/issue5358.go:16: error: argument 2 has incompatible type
      fixedbugs/issue5581.go:29: error: use of undefined type 'Blah'
      funcdup.go:10: error: redefinition of 'i'
      funcdup.go:10: note: previous definition of 'i' was here
      <similar errors omitted>
      funcdup2.go:10: error: redefinition of 'i'
      funcdup2.go:10: note: previous definition of 'i' was here
      <similar errors omitted>
      slice3err.go:20: error: middle index required in 3-index slice
      <similar errors omitted>
      slice3err.go:20: error: final index required in 3-index slice
      <similar errors omitted>
      slice3err.go:21: error: final index required in 3-index slice
      slice3err.go:46: error: invalid 3-index slice of string
      <similar errors omitted>
      slice3err.go:57: error: inverted slice range
      <similar errors omitted>
      slice3err.go:62: error: invalid slice index: capacity less than length
      slice3err.go:64: error: invalid slice index: capacity less than start
      slice3err.go:65: error: invalid slice index: capacity less than start
      slice3err.go:66: error: invalid slice index: capacity less than start
      slice3err.go:68: error: invalid slice index: capacity less than length
      slice3err.go:70: error: invalid slice index: capacity less than start
      slice3err.go:80: error: invalid slice index: capacity less than length
      slice3err.go:82: error: invalid slice index: capacity less than start
      slice3err.go:83: error: invalid slice index: capacity less than start
      slice3err.go:84: error: invalid slice index: capacity less than start
      slice3err.go:86: error: invalid slice index: capacity less than length
      slice3err.go:88: error: invalid slice index: capacity less than start
      slice3err.go:99: error: array index out of bounds
      <similar errors omitted>
      slice3err.go:106: error: invalid slice index: capacity less than length
      slice3err.go:107: error: invalid slice index: capacity less than start
      slice3err.go:118: error: invalid slice index: capacity less than length
      slice3err.go:119: error: invalid slice index: capacity less than start
      syntax/semi1.go:10: error: missing '{' after if clause
      syntax/semi1.go:10: error: reference to undefined name 'x'
      syntax/semi1.go:10: error: reference to undefined name 'y'
      syntax/semi1.go:12: error: reference to undefined name 'z'
      syntax/semi2.go:10: error: missing '{' after switch clause
      syntax/semi2.go:10: error: reference to undefined name 'x'
      syntax/semi3.go:10: error: missing '{' after for clause
      syntax/semi3.go:10: error: reference to undefined name 'x'
      syntax/semi3.go:10: error: reference to undefined name 'y'
      syntax/semi3.go:10: error: reference to undefined name 'z'
      syntax/semi3.go:12: error: reference to undefined name 'z'
      syntax/semi4.go:11: error: missing '{' after for clause
      syntax/semi4.go:10: error: reference to undefined name 'x'
      syntax/semi4.go:12: error: reference to undefined name 'z'
      typecheck.go:12: error: reference to undefined name 'b'
      typecheck.go:17: error: reference to undefined name 'c'
      typecheck.go:11: error: use of undefined type 'b'
      typecheck.go:16: error: not enough arguments
      typecheck.go:17: error: not enough arguments
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41520044
      161a45af
    • Ian Lance Taylor's avatar
      test: add []rune case to string_lit.go · 936665f6
      Ian Lance Taylor authored
      Gccgo managed to get this case wrong.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41490044
      936665f6
    • Ian Lance Taylor's avatar
      test: adjust issue4618 for gccgo allocation behaviour · bbf76258
      Ian Lance Taylor authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41550044
      bbf76258
    • Ian Lance Taylor's avatar
      test: disable large type/stack frame tests for gccgo · 3ddd2eae
      Ian Lance Taylor authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/40370052
      3ddd2eae
    • Ian Lance Taylor's avatar
      test: disable a couple of precise GC tests for gccgo · d12b08d2
      Ian Lance Taylor authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/41610043
      d12b08d2
  4. 12 Dec, 2013 10 commits
  5. 11 Dec, 2013 4 commits