• Shenghou Ma's avatar
    cmd/cgo, cmd/dist, cmd/go: cgo with clang fixes · eec96147
    Shenghou Ma authored
    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
    eec96147
Name
Last commit
Last update
..
ast.go Loading commit data...
doc.go Loading commit data...
gcc.go Loading commit data...
godefs.go Loading commit data...
main.go Loading commit data...
out.go Loading commit data...
util.go Loading commit data...