1
0
mirror of https://github.com/golang/go synced 2024-11-12 07:00:21 -07:00
go/test
Rémy Oudompheng e5f01aee04 cmd/gc: do not nop-convert equivalent but different interface types.
The cached computed interface tables are indexed by the interface
types, not by the unnamed underlying interfaces

To preserve the invariants expected by interface comparison, an
itab generated for an interface type must not be used for a value
of a different interface type even if the representation is identical.

Fixes #7207.

LGTM=rsc
R=rsc, iant, khr
CC=golang-codereviews
https://golang.org/cl/69210044
2014-02-27 08:07:50 +01:00
..
bench test: revert unintentional commits 2013-11-19 15:36:13 +04:00
bugs cmd/gc: fix wrong interaction between inlining and embedded builtins. 2012-12-22 19:16:31 +01:00
chan test/chan: avoid wrap-around in memstats comparison 2013-09-20 17:27:56 -07:00
ddd2.dir test: convert tests to run.go whenever possible. 2012-10-10 22:35:27 +02:00
dwarf test: make rundir match compiledir/errorcheckdir. 2013-01-11 22:00:48 +01:00
fixedbugs cmd/gc: fix walkcompare bugs. 2014-02-24 19:51:59 +01:00
import2.dir test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
import4.dir test: match gccgo import error messages 2013-12-12 19:02:11 -08:00
interface cmd/gc: don't attempt to generate wrappers for blank interface methods 2013-08-19 11:53:34 +10:00
ken go/test/chan1.go: fix typo 2012-02-25 08:47:04 +11:00
method4.dir cmd/gc: do not omit wrapper for expression (interface{...}).F 2014-01-07 13:26:48 +01:00
safe test: adapt old-style tests to new flag parsing. 2013-01-11 22:05:46 +01:00
stress test/stress: fix a goroutine leak in threadRing stresstest 2013-06-03 07:07:31 -07:00
syntax test: match gccgo error messages 2013-12-12 17:18:12 -08:00
64bit.go cmd/gc: Error out on division by constant zero. 2013-01-30 20:21:08 +01:00
235.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
alias1.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
alias.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
append.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
args.go test: run some more tests by default 2012-11-08 09:04:27 -08:00
assign1.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
assign.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
bigalg.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
bigmap.go runtime: handle and test large map values 2012-05-24 22:41:07 -04:00
blank1.go test: match gccgo error messages for blank1.go 2013-09-28 15:19:05 -07:00
blank.go test: revert changes made for Go SSA interpreter test. 2013-10-08 14:36:20 -04:00
bom.go gc: initial BOM is legal. 2012-09-10 13:03:07 -07:00
bombad.go gc: initial BOM is legal. 2012-09-10 13:03:07 -07:00
bounds.go test: prepare for 64-bit ints 2012-09-24 00:06:41 -04:00
chancap.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
char_lit1.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
char_lit.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
closedchan.go test: use testlib (first 100) 2012-02-16 23:48:57 -05:00
closure.go test: enforce 1 proc in the test 2012-07-01 21:59:50 +04:00
cmp6.go cmd/gc: do not consider length zero arrays as comparable. 2014-01-31 00:30:56 +01:00
cmp.go cmd/gc: do not nop-convert equivalent but different interface types. 2014-02-27 08:07:50 +01:00
cmplx.go cmd/gc: reject complex calls with mismatched argument types. 2013-03-11 22:55:14 +01:00
cmplxdivide1.go test: use testlib in a few more cases 2012-03-22 02:14:44 +08:00
cmplxdivide.c test: use testlib in a few more cases 2012-03-22 02:14:44 +08:00
cmplxdivide.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
complit1.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
complit.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
compos.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
const1.go test: match gccgo error messages 2013-12-12 17:18:12 -08:00
const2.go test: match gccgo error messages 2012-09-28 08:30:30 -07:00
const3.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
const4.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
const5.go cmd/gc: reject non-Go constants 2013-02-01 23:10:02 -05:00
const6.go test: match gccgo error strings. 2013-06-26 18:05:02 +02:00
const.go exp/ssa/interp: (#6 of 5): test interpretation of SSA form of $GOROOT/test/*.go. 2013-02-21 12:48:38 -05:00
convert1.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
convert3.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
convert.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
convlit1.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
convlit.go test: [a-c]: add introductory comments to tests 2012-02-19 13:19:43 +11:00
convT2X.go cmd/gc: cache itab lookup in convT2I. 2012-07-03 09:09:05 +10:00
copy.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
crlf.go test: use testlib in a few more cases (part 2) 2012-04-20 23:45:43 +08:00
ddd1.go test: match gccgo error messages 2012-09-28 08:30:30 -07:00
ddd2.go test: convert tests to run.go whenever possible. 2012-10-10 22:35:27 +02:00
ddd.go test: enable method expression tests in ddd.go 2012-03-07 11:17:26 -08:00
decl.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
declbad.go test: correct type in declbad.go 2012-10-07 21:52:57 +02:00
defer.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
deferfin.go runtime: combine small NoScan allocations 2014-01-24 22:35:11 +04:00
deferprint.go test: add cmpout to testlib 2012-02-24 13:17:26 +11:00
deferprint.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
divide.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
divmod.go all: fix a few spelling errors in source comments 2013-12-27 08:59:02 -08:00
empty.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
env.go os: remove Getenverror 2012-02-18 21:18:13 -08:00
eof1.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
eof.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
errchk test/errchk: use "#!/usr/bin/env perl" shebang line 2013-05-23 04:41:22 +08:00
escape2.go cmd/gc: relax address-of escape analysis 2014-02-13 19:59:09 -05:00
escape3.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
escape4.go cmd/gc: fix escape analysis bug 2012-09-24 15:53:12 -04:00
escape5.go cmd/gc: distinguish unnamed vs blank-named return variables better 2014-02-13 20:59:39 -05:00
escape.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
float_lit.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
floatcmp.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
for.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func1.go cmd/gc: ensure unique parameter and result names in function types 2013-03-15 15:24:13 -04:00
func2.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func3.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func4.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func5.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func6.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
func7.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
func8.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
func.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
funcdup2.go test: match gccgo error messages 2013-12-12 17:18:12 -08:00
funcdup.go test: match gccgo error messages 2013-12-12 17:18:12 -08:00
gc1.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
gc2.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
gc.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
golden.out cmd/gc: do not generate code for var _ = ... unless necessary 2012-12-30 12:01:53 -05:00
goprint.go test: make goprint.go wait longer for go its routine to execute 2013-04-12 16:04:19 -07:00
goprint.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
goto.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
helloworld.go test: add cmpout to testlib 2012-02-24 13:17:26 +11:00
helloworld.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
if.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
import1.go test: match gccgo import error messages 2013-12-12 19:02:11 -08:00
import2.go test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
import4.go test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
import5.go gc: disallow absolute import paths 2012-02-29 15:28:36 -05:00
import.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
index0.go test: run index test by default 2012-11-07 12:33:54 -08:00
index1.go test: run index test by default 2012-11-07 12:33:54 -08:00
index2.go test: run index test by default 2012-11-07 12:33:54 -08:00
index.go test: recognize gccgo error message in index.go 2013-09-27 20:38:52 -07:00
indirect1.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
indirect.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
init1.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
init.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
initcomma.go test/initcomma.go: restore what it's supposed to be testing 2012-02-20 07:44:24 +11:00
initialize.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
initializerr.go test: add "duplicate" struct map key test 2012-12-17 11:05:58 -05:00
int_lit.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
intcvt.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
iota.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
label1.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
label.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
linkx.go test: expand run.go's errorcheck, make clear which bugs run 2012-09-23 13:16:14 -04:00
literal.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
live1.go cmd/gc: correct liveness for fat variables 2014-02-15 10:58:55 -05:00
live.go cmd/gc: correct liveness for fat variables 2014-02-15 10:58:55 -05:00
mallocfin.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
map1.go cmd/gc: fix type checking loop 2012-06-07 03:06:40 -04:00
map.go test: fix flaky NaN-key map complexity test 2013-04-07 11:56:15 -07:00
mapnan.go test/mapnan: use time.Now instead of syscall.Getrusage 2013-10-22 18:33:37 -04:00
method1.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
method2.go cmd/gc: fix method values whose receiver is an unnamed interface. 2013-08-29 10:00:58 +02:00
method3.go test: commentary for [h-m]*.go 2012-02-23 18:47:26 +11:00
method4.go test: convert more tests to rundir/compiledir conventions 2012-10-07 23:22:01 +02:00
method5.go cmd/gc: implement method values 2013-03-20 17:11:09 -04:00
method.go test: a number of fixes. 2013-02-11 18:20:52 -05:00
named1.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
named.go gc: return of ideal bool 2012-02-21 22:54:07 -05:00
nil.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
nilcheck.go cmd/gc: &x panics if x does 2013-08-15 14:38:32 -04:00
nilptr2.go test: revert changes made for Go SSA interpreter test. 2013-10-08 14:36:20 -04:00
nilptr3.go cmd/gc: eliminate redundant &x.Field nil checks 2013-09-17 16:54:22 -04:00
nilptr4.go cmd/gc: fix bad checknil with ints on 32 bit compilers 2014-02-26 12:25:13 -08:00
nilptr.go test/nilptr: add more tests 2013-09-05 23:06:34 -04:00
nul1.go test: run some more tests by default 2012-11-08 09:04:27 -08:00
parentype.go test/[n-r]*.go: add documentation 2012-02-24 10:30:39 +11:00
peano.go test/[n-r]*.go: add documentation 2012-02-24 10:30:39 +11:00
printbig.go test: add cmpout to testlib 2012-02-24 13:17:26 +11:00
printbig.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
range.go test: a number of fixes. 2013-02-11 18:20:52 -05:00
recover1.go test: use testlib (final 61) 2012-02-16 23:51:04 -05:00
recover2.go test: use testlib (final 61) 2012-02-16 23:51:04 -05:00
recover3.go tests: remove two misuses of nil pointers 2013-08-15 11:51:04 -04:00
recover.go test: disable failing tests under ssa/interp. 2013-09-18 14:44:57 -04:00
rename1.go test: fix the fix of the rename tests. 2012-02-24 15:06:32 +11:00
rename.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
reorder2.go test/[n-r]*.go: add documentation 2012-02-24 10:30:39 +11:00
reorder.go test: a number of fixes. 2013-02-11 18:20:52 -05:00
return.go test: add cases to return.go that gccgo got wrong 2013-08-07 11:31:01 -07:00
rotate0.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
rotate1.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
rotate2.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
rotate3.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
rotate.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
run test: minor fixes in run and testlib 2012-09-24 00:06:31 -04:00
run.go all: merge NaCl branch (part 1) 2014-02-25 09:47:42 -05:00
rune.go test/[n-r]*.go: add documentation 2012-02-24 10:30:39 +11:00
runtime.go test/[n-r]*.go: add documentation 2012-02-24 10:30:39 +11:00
shift1.go test/shift1.go: recognize gccgo errors 2013-06-26 08:23:52 -07:00
shift2.go test: add shift expression incorrectly rejected by gccgo. 2013-06-25 08:06:34 +02:00
sieve.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
sigchld.go test: skip SIGCHLD test on Plan 9 2014-01-29 09:28:23 +01:00
sigchld.out test: split golden.out into expected output per test 2012-01-18 16:12:24 -08:00
simassign.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
sinit.go cmd/gc: do not generate code for var _ = ... unless necessary 2012-12-30 12:01:53 -05:00
sizeof.go test: correct sizeof.go. 2013-06-02 19:10:11 +02:00
slice3.go cmd/gc: support x[i:j:k] 2013-07-01 20:32:36 -04:00
slice3err.go test: match gccgo error messages 2013-12-12 17:18:12 -08:00
solitaire.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
stack.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
string_lit.go test: add []rune case to string_lit.go 2013-12-12 17:17:02 -08:00
stringrange.go all: make Unicode surrogate halves illegal as UTF-8 2012-08-08 14:01:23 -07:00
struct0.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
switch3.go cmd/gc: accept switches on comparable arrays. 2012-08-03 21:47:26 +02:00
switch4.go cmd/gc: disallow fallthrough in final case of switch 2013-03-15 00:35:09 -04:00
switch.go cmd/gc: disallow fallthrough in final case of switch 2013-03-15 00:35:09 -04:00
testlib test/run: process build tags like go/build 2013-08-13 12:25:41 -04:00
tinyfin.go runtime: combine small NoScan allocations 2014-01-24 22:35:11 +04:00
torture.go cmd/8g: introduce temporaries in byte multiplication. 2012-12-21 23:46:16 +01:00
turing.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
typecheck.go cmd/gc: silence assignment errors to undefined symbols 2014-01-03 21:03:20 +01:00
typeswitch1.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
typeswitch2.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
typeswitch3.go test: match gccgo error messages 2012-09-28 08:30:30 -07:00
typeswitch.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
undef.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
utf.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
varerr.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
varinit.go test/[n-z]*.go: add documentation 2012-02-24 11:48:19 +11:00
zerodivide.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00