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 { ...@@ -231,9 +231,15 @@ func setlineno(n *Node) int32 {
lno := lineno lno := lineno
if n != nil { if n != nil {
switch n.Op { switch n.Op {
case ONAME, OTYPE, OPACK, OLITERAL: case ONAME, OTYPE, OPACK:
break break
case OLITERAL:
if n.Sym != nil {
break
}
fallthrough
default: default:
lineno = n.Lineno lineno = n.Lineno
if lineno == 0 { 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