]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/cgo: don't emit #pragma declarations when using gccgo
authorIan Lance Taylor <iant@golang.org>
Thu, 18 Jul 2013 01:02:21 +0000 (18:02 -0700)
committerIan Lance Taylor <iant@golang.org>
Thu, 18 Jul 2013 01:02:21 +0000 (18:02 -0700)
Update #5905

Don't emit #pragma cgo_ldflag and cgo_import_static
declarations that gccgo doesn't understand and can't use.

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/11490043

src/cmd/cgo/out.go

index 20f5afd5c707a6ee3b9ee4c072766b9e03f51fe3..f5618e3e8a1e7607166923fe793c902bf6a8ec21 100644 (file)
@@ -32,7 +32,7 @@ func (p *Package) writeDefs() {
        fflg := creat(*objDir + "_cgo_flags")
        for k, v := range p.CgoFlags {
                fmt.Fprintf(fflg, "_CGO_%s=%s\n", k, strings.Join(v, " "))
-               if k == "LDFLAGS" {
+               if k == "LDFLAGS" && !*gccgo {
                        for _, arg := range v {
                                fmt.Fprintf(fc, "#pragma cgo_ldflag %q\n", arg)
                        }
@@ -105,7 +105,10 @@ func (p *Package) writeDefs() {
                        fmt.Fprintf(fm, "extern char %s[];\n", n.C)
                        fmt.Fprintf(fm, "void *_cgohack_%s = %s;\n\n", n.C, n.C)
 
-                       fmt.Fprintf(fc, "#pragma cgo_import_static %s\n", n.C)
+                       if !*gccgo {
+                               fmt.Fprintf(fc, "#pragma cgo_import_static %s\n", n.C)
+                       }
+
                        fmt.Fprintf(fc, "extern byte *%s;\n", n.C)
 
                        cVars[n.C] = true