mirror of
https://github.com/golang/go
synced 2024-11-21 23:24:41 -07:00
gc: add forgotten typecheck in a lonely corner of sinit
Fixes #2549 R=rsc CC=golang-dev https://golang.org/cl/5484060
This commit is contained in:
parent
a62722bba4
commit
1f6d130b14
@ -707,9 +707,10 @@ slicelit(int ctxt, Node *n, Node *var, NodeList **init)
|
|||||||
|
|
||||||
// set auto to point at new temp or heap (3 assign)
|
// set auto to point at new temp or heap (3 assign)
|
||||||
if(n->esc == EscNone) {
|
if(n->esc == EscNone) {
|
||||||
a = temp(t);
|
a = nod(OAS, temp(t), N);
|
||||||
*init = list(*init, nod(OAS, a, N)); // zero new temp
|
typecheck(&a, Etop);
|
||||||
a = nod(OADDR, a, N);
|
*init = list(*init, a); // zero new temp
|
||||||
|
a = nod(OADDR, a->left, N);
|
||||||
} else {
|
} else {
|
||||||
a = nod(ONEW, N, N);
|
a = nod(ONEW, N, N);
|
||||||
a->list = list1(typenod(t));
|
a->list = list1(typenod(t));
|
||||||
|
30
test/fixedbugs/bug387.go
Normal file
30
test/fixedbugs/bug387.go
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// $G $D/$F.go || echo "Bug387"
|
||||||
|
|
||||||
|
// Copyright 2011 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.
|
||||||
|
|
||||||
|
// Issue 2549
|
||||||
|
|
||||||
|
/* Used to die with
|
||||||
|
missing typecheck: [7f5bf07b4438]
|
||||||
|
|
||||||
|
. AS l(45)
|
||||||
|
. . NAME-main.autotmp_0017 u(1) a(1) l(45) x(0+0) class(PAUTO)
|
||||||
|
esc(N) tc(1) used(1) ARRAY-[2]string
|
||||||
|
internal compiler error: missing typecheck
|
||||||
|
*/
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"path/filepath"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
switch _, err := filepath.Glob(filepath.Join(".", "vnc")); {
|
||||||
|
case err != nil:
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user