cmd/gc: remove bad check for BADWIDTH

This check for BADWIDTH might happen while in defercheckwidth, making it raise errors for non-erroneous situations.

Fixes #4495.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6927043
This commit is contained in:
Daniel Morsing 2012-12-11 17:36:10 +01:00
parent 2f45f2801d
commit 0d22573f6e
2 changed files with 29 additions and 2 deletions

View file

@ -1791,8 +1791,6 @@ looktypedot(Node *n, Type *t, int dostrcmp)
if(f1 == T)
return 0;
if(f1->width == BADWIDTH)
fatal("lookdot badwidth %T %p", f1, f1);
n->right = methodname(n->right, t);
n->xoffset = f1->width;
n->type = f1->type;

View file

@ -0,0 +1,29 @@
// run
// Copyright 2012 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 main
type I interface {
m() int
}
type T struct{}
func (T) m() int {
return 3
}
var t T
var ret = I.m(t)
func main() {
if ret != 3 {
println("ret = ", ret)
panic("ret != 3")
}
}