Permalink
Browse files

cmd/compile: fix println()

println with no arguments accidentally doesn't print a newline.

Introduced at CL 55097

Fixes #21808

Change-Id: I9fc7b4271b9b31e4c9b6078f055195dc3907b62c
Reviewed-on: https://go-review.googlesource.com/62390
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
  • Loading branch information...
randall77 committed Sep 8, 2017
1 parent 87dae58 commit 02deb77f6db19f5894d836790a64bd4dea86feb0
Showing with 24 additions and 4 deletions.
  1. +4 −4 src/cmd/compile/internal/gc/walk.go
  2. +17 −0 test/fixedbugs/issue21808.go
  3. +3 −0 test/fixedbugs/issue21808.out
@@ -2071,12 +2071,12 @@ func walkprint(nn *Node, init *Nodes) *Node {
s := nn.List.Slice()
t := make([]*Node, 0, len(s)*2)
for i, n := range s {
x := " "
if len(s)-1 == i {
x = "\n"
t = append(t, n)
if i != len(s)-1 {
t = append(t, nodstr(" "))
}
t = append(t, n, nodstr(x))
}
t = append(t, nodstr("\n"))
nn.List.Set(t)
}
@@ -0,0 +1,17 @@
// run
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Make sure println() prints a blank line.
package main
import "fmt"
func main() {
fmt.Println("A")
println()
fmt.Println("B")
}
@@ -0,0 +1,3 @@
A
B

0 comments on commit 02deb77

Please sign in to comment.