diff options
author | Ian Lance Taylor <iant@golang.org> | 2018-01-05 16:52:53 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2018-01-10 20:47:34 +0000 |
commit | 1b89dada1ae7e2378a06f0ffeebb31f925fb08e9 (patch) | |
tree | 579fea1873fec9dc34377f284153c8f954a78755 | |
parent | f7d8098a7b6148811824bf50ec32c8f8d0a35d12 (diff) | |
download | go-1b89dada1ae7e2378a06f0ffeebb31f925fb08e9.tar.gz go-1b89dada1ae7e2378a06f0ffeebb31f925fb08e9.zip |
cmd/cgo: support niladic macros for gccgo
https://golang.org/cl/43970 changed writeOutputFunc to support niladic
function-like macros; apply the corresponding change to
writeGccgoOutputFunc.
Updates #10715
Updates #18720
Change-Id: I5decb1d37ec71507466ade2eeda4b89c8785eaef
Reviewed-on: https://go-review.googlesource.com/86475
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Hiroshi Ioka <hirochachacha@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
-rw-r--r-- | src/cmd/cgo/out.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 44a00d8154..070429f442 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -695,14 +695,18 @@ func (p *Package) writeGccgoOutputFunc(fgcc *os.File, n *Name) { fmt.Fprintf(fgcc, "(void*)") } } - fmt.Fprintf(fgcc, "%s(", n.C) - for i := range n.FuncType.Params { - if i > 0 { - fmt.Fprintf(fgcc, ", ") + if n.Kind == "macro" { + fmt.Fprintf(fgcc, "%s;\n", n.C) + } else { + fmt.Fprintf(fgcc, "%s(", n.C) + for i := range n.FuncType.Params { + if i > 0 { + fmt.Fprintf(fgcc, ", ") + } + fmt.Fprintf(fgcc, "p%d", i) } - fmt.Fprintf(fgcc, "p%d", i) + fmt.Fprintf(fgcc, ");\n") } - fmt.Fprintf(fgcc, ");\n") fmt.Fprintf(fgcc, "\t_cgo_tsan_release();\n") if t := n.FuncType.Result; t != nil { fmt.Fprintf(fgcc, "\treturn ") |