mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
cmd/compile: fix crash on bare package name in constant declarations
Fixes #11361. Change-Id: I70b8808f97f0e07de680e7e6ede1322ea0fdbbc0 Reviewed-on: https://go-review.googlesource.com/21936 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
6531fab06f
commit
0e01db4b8d
2 changed files with 18 additions and 0 deletions
|
@ -540,8 +540,15 @@ func treecopy(n *Node, lineno int32) *Node {
|
|||
}
|
||||
return n
|
||||
|
||||
case OPACK:
|
||||
// OPACK nodes are never valid in const value declarations,
|
||||
// but allow them like any other declared symbol to avoid
|
||||
// crashing (golang.org/issue/11361).
|
||||
fallthrough
|
||||
|
||||
case ONAME, OLITERAL, OTYPE:
|
||||
return n
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
11
test/fixedbugs/issue11361.go
Normal file
11
test/fixedbugs/issue11361.go
Normal file
|
@ -0,0 +1,11 @@
|
|||
// errorcheck
|
||||
|
||||
// Copyright 2016 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.
|
||||
|
||||
package a
|
||||
|
||||
import "fmt" // ERROR "imported and not used"
|
||||
|
||||
const n = fmt // ERROR "fmt without selector" "fmt is not a constant"
|
Loading…
Reference in a new issue