mirror of
https://github.com/golang/go
synced 2024-11-22 14:15:05 -07:00
cmd/cgo: fix unexpected semicolon in rewritten line
Followup to CL 157961 and CL 158457. Finish the list of operators and punctuation that disable semicolon insertion at end-of-line The reported case was "(" but "." was also missing. Fixes #31017. Change-Id: I0c06443f38dc8250c62e3aadd104abfa0e3be074 Reviewed-on: https://go-review.googlesource.com/c/go/+/174524 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
3e7e2546fc
commit
a88cb1d8e1
@ -11,7 +11,18 @@ package cgotest
|
||||
// #define ISSUE29781C 0
|
||||
import "C"
|
||||
|
||||
var issue29781X struct{ X int }
|
||||
|
||||
func issue29781F(...int) int { return 0 }
|
||||
|
||||
func issue29781G() {
|
||||
var p *C.char
|
||||
C.issue29781F(&p, C.ISSUE29781C+1)
|
||||
C.issue29781F(nil, (C.int)(
|
||||
0))
|
||||
C.issue29781F(&p, (C.int)(0))
|
||||
C.issue29781F(&p, (C.int)(
|
||||
0))
|
||||
C.issue29781F(&p, (C.int)(issue29781X.
|
||||
X))
|
||||
}
|
||||
|
@ -136,21 +136,31 @@ func gofmt(n interface{}) string {
|
||||
// (due to the printer possibly inserting newlines because of position
|
||||
// information) operators.
|
||||
var gofmtLineReplacer = strings.NewReplacer(
|
||||
"{\n", "{",
|
||||
",\n", ",",
|
||||
// Want to replace \n without ; after everything from
|
||||
// https://golang.org/ref/spec#Operators_and_punctuation
|
||||
// EXCEPT ++ -- ) ] }
|
||||
"++\n", "++;",
|
||||
"--\n", "--;",
|
||||
"+\n", "+",
|
||||
"-\n", "-",
|
||||
"*\n", "*",
|
||||
"/\n", "/",
|
||||
"%\n", "%",
|
||||
"&\n", "&",
|
||||
"|\n", "|",
|
||||
"^\n", "^",
|
||||
"<\n", "<",
|
||||
">\n", ">",
|
||||
"=\n", "=",
|
||||
|
||||
"+\n", "+ ",
|
||||
"-\n", "- ",
|
||||
"*\n", "* ",
|
||||
"/\n", "/ ",
|
||||
"%\n", "% ",
|
||||
"&\n", "& ",
|
||||
"|\n", "| ",
|
||||
"^\n", "^ ",
|
||||
"<\n", "< ",
|
||||
">\n", "> ",
|
||||
"=\n", "= ",
|
||||
"!\n", "! ", // not possible in gofmt today
|
||||
"(\n", "(",
|
||||
"[\n", "[", // not possible in gofmt today
|
||||
"{\n", "{",
|
||||
",\n", ",",
|
||||
".\n", ". ",
|
||||
":\n", ": ", // not possible in gofmt today
|
||||
|
||||
"\n", ";",
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user