Fixes #8836.
Change-Id: Idda9f4a987e03b3bdf5e8fdb984fe56d6f84aa59
Reviewed-on: https://go-review.googlesource.com/11672
Reviewed-by: David Chase <drchase@google.com>
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 {
--- /dev/null
+// 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 ".*"
+ )
+}