Commit 55203c7d authored by Russ Cox's avatar Russ Cox

cmd/compile: allow unnamed constants to set line number

Fixes #8836.

Change-Id: Idda9f4a987e03b3bdf5e8fdb984fe56d6f84aa59
Reviewed-on: https://go-review.googlesource.com/11672Reviewed-by: 's avatarDavid Chase <drchase@google.com>
parent 8b99bb7b
......@@ -231,9 +231,15 @@ func setlineno(n *Node) int32 {
lno := lineno
if n != nil {
switch n.Op {
case ONAME, OTYPE, OPACK, OLITERAL:
case ONAME, OTYPE, OPACK:
break
case OLITERAL:
if n.Sym != nil {
break
}
fallthrough
default:
lineno = n.Lineno
if lineno == 0 {
......
// errorcheck
// Copyright 2015 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.
// Checking that line number is correct in error message.
package main
type Cint int
func foobar(*Cint, Cint, Cint, *Cint)
func main() {
a := Cint(1)
foobar(
&a,
0,
0,
42, // ERROR ".*"
)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment