1
0
mirror of https://github.com/golang/go synced 2024-11-13 18:50:24 -07:00
go/test
Russ Cox 290e68b983 gc: undo most of 'fix infinite recursion for embedded interfaces'
Preserve test.

changeset:   11593:f1deaf35e1d1
user:        Luuk van Dijk <lvd@golang.org>
date:        Tue Jan 17 10:00:57 2012 +0100
summary:     gc: fix infinite recursion for embedded interfaces

This is causing 'interface type loop' errors during compilation
of a complex program.  I don't understand what's happening
well enough to boil it down to a simple test case, but undoing
this change fixes the problem.

The change being undone is fixing a corner case (uses of
pointer to interface in an interface definition) that basically
only comes up in erroneous Go programs.  Let's not try to
fix this again until after Go 1.

Unfixes issue 1909.

TBR=lvd
CC=golang-dev
https://golang.org/cl/5555063
2012-01-20 17:14:09 -05:00
..
bench runtime: make garbage collector faster by deleting code 2012-01-10 19:49:11 -08:00
bugs gc: undo most of 'fix infinite recursion for embedded interfaces' 2012-01-20 17:14:09 -05:00
chan renaming_4: gofix -r everything/but/src/pkg 2011-11-08 15:43:02 -08:00
dwarf test: clear execute bit from source file 2011-11-03 10:26:33 +09:00
fixedbugs gc: undo most of 'fix infinite recursion for embedded interfaces' 2012-01-20 17:14:09 -05:00
interface gc: implement == on structs and arrays 2011-12-12 22:22:09 -05:00
ken test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
syntax gc: clean up if grammar 2011-09-12 15:52:29 -04:00
64bit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
235.go
alias1.go test/alias.go: additional tests 2011-10-26 15:27:47 -07:00
alias.go utf8.String: move to exp/utf8string.String 2012-01-17 14:21:50 -08:00
append.go runtime: append([]byte, string...) 2011-10-12 15:59:23 +02:00
args.go
assign1.go test: Match gccgo error messages. 2010-09-10 19:12:10 -07:00
assign.go allow copy of struct containing unexported fields 2011-11-15 12:20:59 -05:00
bigalg.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
bigmap.go
blank1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
blank.go gc: fix another blank bug 2011-12-09 11:59:21 -05:00
chancap.go
char_lit1.go test: Match gccgo error messages. 2010-08-31 11:43:52 -07:00
char_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
closedchan.go test: make closedchan.go exit with failure if something fails 2011-11-04 14:12:35 -07:00
closure.go gc: test that asserts closures are not wrapped when they don't have closure vars. 2012-01-10 21:47:22 +01:00
cmp6.go gc: implement == on structs and arrays 2011-12-12 22:22:09 -05:00
cmp.go gc: inlining, allow empty bodies, fix _ arguments. 2011-12-15 17:50:59 +01:00
cmplx.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide.c delete float, complex - code changes 2011-01-19 23:09:00 -05:00
cmplxdivide.go renaming_4: gofix -r everything/but/src/pkg 2011-11-08 15:43:02 -08:00
complit1.go gc: remove type elision in struct literals 2011-12-05 14:22:41 -05:00
complit.go gc: remove type elision in struct literals 2011-12-05 14:22:41 -05:00
compos.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
const2.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
const3.go gc: another shift bug 2010-12-13 13:42:51 -05:00
const.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
convert1.go allow direct conversion between string and named []byte, []rune 2011-11-22 12:30:02 -05:00
convert3.go test: don't assign address of array to slice. 2010-08-31 07:34:01 -07:00
convert.go fix tree for reflect rename 2011-04-25 13:39:36 -04:00
convlit1.go
convlit.go allow direct conversion between string and named []byte, []rune 2011-11-22 12:30:02 -05:00
copy.go test copy([]byte, string) 2010-10-26 08:36:23 -07:00
crlf.go gc: implement and test \r in raw strings 2011-12-15 10:47:09 -05:00
ddd1.go gc: use inferred type rather than original one when reporting non-assignability. 2011-12-14 17:34:35 +01:00
ddd2.go
ddd3.go
ddd.go gc: ... bug 2010-10-06 11:12:30 -04:00
decl.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
declbad.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
defer.go ... changes 2010-09-24 11:55:48 -04:00
deferprint.go test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
deferprint.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
divide.go 6g, 8g: divide corner case 2011-07-28 14:18:22 -04:00
empty.go
env.go non-pkg: gofix -r error -force=error 2011-11-01 22:06:05 -04:00
eof1.go gc: line comments may end in EOF 2010-11-04 16:04:04 -04:00
eof.go gc: insert semicolon at EOF if needed 2010-09-28 10:35:02 -04:00
errchk errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
escape2.go gc: avoid false positives when using scalar struct fields. 2012-01-12 12:08:40 +01:00
escape3.go gc: zero stack-allocated slice backing arrays 2011-09-02 15:11:28 -04:00
escape.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
float_lit.go arm: enable all tests 2010-10-25 21:25:13 -07:00
floatcmp.go
for.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func1.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
func2.go non-pkg: gofix -r error -force=error 2011-11-01 22:06:05 -04:00
func3.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func4.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
func5.go
func6.go gc: fix func syntax error 2011-04-13 22:48:21 -04:00
func7.go gc: fix order of operations for f() < g(). 2011-04-26 00:57:03 -04:00
func.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
gc1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
gc2.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
gc.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
golden.out gc: undo most of 'fix infinite recursion for embedded interfaces' 2012-01-20 17:14:09 -05:00
goprint.go test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
goprint.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
goto.go test: match gccgo error messages for goto.go and bug344.go 2011-09-20 14:45:54 -07:00
hashmap.go build: clear execute bit from Go files 2011-09-05 07:48:42 -04:00
helloworld.go test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
helloworld.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
if.go go: require { } around else block 2011-07-14 17:15:52 -04:00
import1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
import2.go
import3.go
import4.go
import.go test: error-related fixes 2011-10-27 19:41:39 -07:00
index.go test: fix NaCl build 2010-09-19 23:28:32 -04:00
indirect1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
indirect.go
init1.go runtime: run goroutines during init 2011-10-13 15:54:23 -04:00
init.go test: match gccgo error messages for init.go 2011-03-26 11:24:02 -07:00
initcomma.go
initialize.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
initializerr.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
initsyscall.go use new time API 2011-11-30 12:01:46 -05:00
int_lit.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
intcvt.go
iota.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
label1.go test: match gccgo error messages for label.go and label1.go. 2011-03-25 10:36:46 -07:00
label.go test: match gccgo error messages for label.go and label1.go. 2011-03-25 10:36:46 -07:00
literal.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
malloc1.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
mallocfin.go runtime: faster finalizers 2011-10-06 18:42:51 +03:00
mallocrand.go renaming_4: gofix -r everything/but/src/pkg 2011-11-08 15:43:02 -08:00
mallocrep1.go runtime: add UpdateMemStats, use in tests 2011-07-22 00:55:01 -04:00
mallocrep.go runtime: faster finalizers 2011-10-06 18:42:51 +03:00
map1.go gc: implement == on structs and arrays 2011-12-12 22:22:09 -05:00
map.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
method1.go test: s/float/float64/ 2011-01-21 08:37:58 -08:00
method2.go test: match gccgo error messages 2011-09-21 17:25:48 -07:00
method3.go
method.go gc, spec, tests: no auto-indirect of pointer to interface value 2010-09-30 14:59:41 -04:00
named1.go gc: use inferred type rather than original one when reporting non-assignability. 2011-12-14 17:34:35 +01:00
named.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
nil.go gofix -r mapdelete 2011-10-18 09:56:34 -04:00
nilptr.go test: make array smaller in nilptr test 2011-12-07 15:00:44 -05:00
nul1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
parentype.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
peano.go test: change several tests to not print 2012-01-18 14:31:31 -08:00
printbig.go test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
printbig.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
range.go cgo, goyacc, go/build, html, http, path, path/filepath, testing/quick, test: use rune 2011-10-25 22:20:02 -07:00
recover1.go
recover2.go gc: implement == on structs and arrays 2011-12-12 22:22:09 -05:00
recover3.go non-pkg: gofix -r error -force=error 2011-11-01 22:06:05 -04:00
recover.go
rename1.go errchk: allow multiple patterns 2011-08-16 11:14:26 -04:00
rename.go
reorder.go gc: stricter multiple assignment + test 2011-10-13 15:46:39 -04:00
run build: pass $GCFLAGS to compiler 2011-10-18 14:55:10 -04:00
rune.go gc: rune is now an alias for int32 2011-12-09 00:12:07 -05:00
runtime.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
shift1.go test: match gccgo error messages 2011-09-21 17:25:48 -07:00
shift2.go gc: implement new shift rules 2011-05-31 15:05:40 -04:00
sieve.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
sigchld.go test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
sigchld.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
simassign.go
sinit.go gc: make static initialization more static 2011-08-31 07:37:14 -04:00
sizeof.go gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
solitaire.go cgo, goyacc, go/build, html, http, path, path/filepath, testing/quick, test: use rune 2011-10-25 22:20:02 -07:00
stack.go 5l, 8l: pass stack frame size to morestack when needed 2011-02-01 18:34:41 -05:00
string_lit.go cgo, goyacc, go/build, html, http, path, path/filepath, testing/quick, test: use rune 2011-10-25 22:20:02 -07:00
stringrange.go renaming_4: gofix -r everything/but/src/pkg 2011-11-08 15:43:02 -08:00
struct0.go gc: fix zero-length struct eval 2011-09-05 15:31:22 -04:00
switch1.go test: remove semiocolons. 2010-09-04 10:36:13 +10:00
switch3.go gc: remove func, map compare 2011-11-13 22:58:08 -05:00
switch.go gc: remove func, map compare 2011-11-13 22:58:08 -05:00
test0.go delete float, complex - code changes 2011-01-19 23:09:00 -05:00
turing.go test: change several tests to not print 2012-01-18 14:31:31 -08:00
typeswitch1.go
typeswitch2.go type switches: test for pathological case 2011-08-19 09:31:50 -07:00
typeswitch3.go gc: Better typechecks and errors in switches. 2011-11-09 10:58:53 +01:00
typeswitch.go gc: remove func, map compare 2011-11-13 22:58:08 -05:00
undef.go test: Match gccgo error messages. 2010-09-10 12:44:37 -07:00
utf.go renaming_4: gofix -r everything/but/src/pkg 2011-11-08 15:43:02 -08:00
varerr.go test: Match gccgo error messages. 2010-09-10 12:45:46 -07:00
varinit.go
zerodivide.go non-pkg: gofix -r error -force=error 2011-11-01 22:06:05 -04:00