]> Cypherpunks repositories - gostls13.git/commit
cmd/cgo, cmd/dist, cmd/go: cgo with clang fixes
authorShenghou Ma <minux.ma@gmail.com>
Sat, 23 Feb 2013 12:24:38 +0000 (20:24 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Sat, 23 Feb 2013 12:24:38 +0000 (20:24 +0800)
commiteec961470fc38a253b46b4004f9acb72741e93d7
treee01eba1ead7fbe666f84ec7b3223ce0f60819c7b
parent1e957b6245d1c204e333738383a6f4aca0b9d86b
cmd/cgo, cmd/dist, cmd/go: cgo with clang fixes
1. Workaround the smart clang diagnostics with -Qunused-arguments:
clang: error: argument unused during compilation: '-XXX'
2. if "clang -print-libgcc-file-name" returns non-absolute path, don't
provide that on linker command line.
3. Fix dwarf.PtrType.Size() in cmd/cgo as clang doesn't generate
DW_AT_byte_size for pointer types.
4. Workaround warnings for -Wno-unneeded-internal-declaration with
-Wno-unknown-warning-option.
5. Add -Wno-unused-function.
6. enable race detector test on darwin with clang
(at least Apple clang version 1.7 (tags/Apple/clang-77) works).

Requires CL 7354043.

Update #4829
This should fix most parts of the problem, but one glitch still remains.
DWARF generated by newer clang doesn't differentiate these
two function types:
    void *malloc(size_t);
    void *malloc(unsigned long int);
so you might need to do this to make make.bash pass:
sed -i -e 's/C.malloc(C.size_t/C.malloc(C.ulong/' pkg/os/user/lookup_unix.go

R=golang-dev, dave, iant, rsc
CC=golang-dev
https://golang.org/cl/7351044
src/cmd/cgo/gcc.go
src/cmd/dist/build.c
src/cmd/go/build.go
src/run.bash