diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2015-03-05 17:45:11 -0800 |
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2015-03-24 00:01:40 +0000 |
| commit | 717cb74907f3597850398a48a52f1a19a3beb447 (patch) | |
| tree | ee9c9041a8a8a1483957bcd4777340e2649a53d4 /src/debug/dwarf | |
| parent | b2f29511dd1b8760de5c4a0db284e68e8e7dddcd (diff) | |
| download | go-717cb74907f3597850398a48a52f1a19a3beb447.tar.xz | |
cmd/internal/ld: edit into more idiomatic Go code
Instead of reimplementing chained hash tables, just use maps.
Use bool instead of uint8 for variables only set to 0 or 1.
Fix parsing of `import foo "foo" // indirect` lines. Previously, this
was treated as an import of package path `"foo" // indirect`, which
could result in the cycle-detection code failing to detect a cycle
because it would be treated as a separate package from `"foo"`.
Also, since there are theoretically multiple quoted forms for a
package path, use strconv.Unquote to normalize them. Side benefit:
Unquote will complain if any trailing comments sneak back in.
Aside: For most Go archives, Go package data is only present in the
__.PKGDEF member, but unless -u is used, ldpkg is only called on the
_go_.6 member. Consequently, importcycles is a no-op when -u isn't
used as it has no package data to inspect.
Change-Id: I7076cf91a66726a8d9c5676adfea13c5532001fa
Reviewed-on: https://go-review.googlesource.com/7002
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/debug/dwarf')
0 files changed, 0 insertions, 0 deletions
