Skip to content

Commit

Permalink
gc: bug291
Browse files Browse the repository at this point in the history
Fixes #915.

R=ken2
CC=golang-dev
https://golang.org/cl/1856042
  • Loading branch information
rsc committed Jul 15, 2010
1 parent 691d765 commit 08a263a
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 11 deletions.
10 changes: 2 additions & 8 deletions src/cmd/gc/sinit.c
Expand Up @@ -92,15 +92,9 @@ init1(Node *n, NodeList **out)
break;

case OAS2FUNC:
if(n->defn->initorder)
break;
n->defn->initorder = 1;
for(l=n->defn->rlist; l; l=l->next)
init1(l->n, out);
*out = list(*out, n->defn);
break;

case OAS2MAPR:
case OAS2DOTTYPE:
case OAS2RECV:
if(n->defn->initorder)
break;
n->defn->initorder = 1;
Expand Down
23 changes: 23 additions & 0 deletions test/fixedbugs/bug291.go
@@ -0,0 +1,23 @@
// $G $D/$F.go && $L $F.$A && ./$A.out

// Copyright 2010 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.

// http://code.google.com/p/go/issues/detail?id=915

package main

type T struct {
x int
}

var t = &T{42}
var i interface{} = t
var tt, ok = i.(*T)

func main() {
if tt == nil || tt.x != 42 {
println("BUG")
}
}
3 changes: 0 additions & 3 deletions test/golden.out
Expand Up @@ -177,6 +177,3 @@ panic PC=xxx
=========== bugs/bug260.go
FAIL
BUG: bug260 failed

=========== bugs/bug274.go
BUG: errchk: command succeeded unexpectedly

0 comments on commit 08a263a

Please sign in to comment.