1
0
mirror of https://github.com/golang/go synced 2024-11-27 03:21:18 -07:00
go/test
Josh Bleecher Snyder a44becef4a cmd/compile: use generated temps in bool codegen
Bool codegen was generating a temp for function calls
and other complex expressions, but was not using it.

This was a refactoring bug introduced by CL 7853.
The cmp code used to do (in short):

	l, r := &n1, &n2

It was changed to:

	l, r := nl, nr

But the requisite assignments:

	nl, nr = &n1, &n2

were only introduced on one of two code paths.

Fixes #10654.

Change-Id: Ie8de0b3a333842a048d4308e02911bb10c6915ce
Reviewed-on: https://go-review.googlesource.com/10844
Reviewed-by: Minux Ma <minux@golang.org>
Run-TryBot: Minux Ma <minux@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-06-09 17:38:26 +00:00
..
bench all: retire architecture letter in file names, public API 2015-05-21 17:32:17 +00:00
bugs test: migrate remaining tests to run.go 2014-12-22 22:41:34 +00:00
chan cmd/gc: implement 'for range x {' 2014-07-16 19:27:10 -04: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/compile: use generated temps in bool codegen 2015-06-09 17:38:26 +00: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/internal/gc: improve "type *X has no field or method M" message 2015-05-07 16:21:57 +00: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 build: adjustments for move from src/pkg to src 2014-09-08 00:06:45 -04: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 cmd/gc: prohibit short variable declarations containing duplicate symbols 2014-10-06 17:16:39 -04: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
chanlinear.go runtime: test for linear enqueue/dequeue behavior 2014-12-08 22:18:17 +00: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
clearfat.go [dev.power64] 9g: fix under-zeroing in clearfat 2014-10-31 11:08:27 -04:00
closedchan.go test: use testlib (first 100) 2012-02-16 23:48:57 -05:00
closure1.go cmd/gc: capture variables by value 2015-01-29 13:07:30 +00:00
closure2.go cmd/gc: fix capturing by value for range statements 2015-02-03 15:48:48 +00: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: comment the behavior and use of cmplxdivide* 2015-01-15 00:00:06 +00:00
cmplxdivide.go test: comment the behavior and use of cmplxdivide* 2015-01-15 00:00:06 +00:00
complit1.go cmd/internal/gc: accept map literals with omitted key type 2015-06-04 02:31:38 +00: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 builtin function calls in len(fixed array) constants 2014-04-03 19:04:33 -04: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 cmd/internal/gc: unsafe.Pointer constants may only be converted to uintptr 2015-05-07 23:54:28 +00: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/compile: move Node.Curfn into both Node.Func and Node.Name 2015-06-03 20:09:52 +00:00
escape2n.go cmd/compile: move Node.Curfn into both Node.Func and Node.Name 2015-06-03 20:09:52 +00:00
escape3.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
escape4.go cmd/internal/gc: transitive inlining 2015-02-26 17:36:00 +00:00
escape5.go cmd/internal/gc: move check for large-hence-heap-allocated types into escape analysis 2015-05-22 02:13:54 +00:00
escape_array.go cmd/internal/gc: move check for large-hence-heap-allocated types into escape analysis 2015-05-22 02:13:54 +00:00
escape_calls.go cmd/internal/gc: make indirect calls properly escape-y 2015-05-22 01:36:11 +00:00
escape_closure.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_field.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_iface.go test: add tests for escape analysis of interface conversions 2015-03-28 16:15:27 +00:00
escape_indir.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_level.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_map.go test: add tests for escape analysis of interface conversions 2015-03-28 16:15:27 +00:00
escape_param.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_slice.go cmd/internal/gc: extend escape analysis to pointers in slices 2015-05-18 15:34:39 +00:00
escape_struct_param1.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_struct_param2.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_struct_return.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00
fibo.go Fix whitespace (use blanks consistently). 2014-12-08 22:22:58 +00:00
float_lit2.go test: fix two typos in float_lit2.go 2014-05-21 17:19:12 -04:00
float_lit3.go test/float_lit2.go: rewrite to test values near boundaries 2014-05-21 17:12:06 -04: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: check for build constraints only upto the first blank line 2015-02-06 05:36:26 +00:00
gc.go test: explanatory comments [c-g]* 2012-02-19 14:28:53 +11:00
gcstring.go runtime: fix empty string handling in garbage collector 2014-03-11 23:58:39 -04: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 Revert "cmd/internal/gc: ignore declarations of types for goto validation" 2015-05-15 16:35:49 +00: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: deflake init1.go test, tighten its bounds 2015-02-13 22:13:56 +00: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
inline.go cmd/internal/gc: transitive inlining 2015-02-26 17:36:00 +00: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_run.go cmd/link: deprecate -X name value in favor of -X name=value 2015-06-05 04:55:41 +00:00
linkx.go cmd/link: deprecate -X name value in favor of -X name=value 2015-06-05 04:55:41 +00: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
live2.go cmd/gc: allocate non-escaping maps on stack 2015-02-12 09:53:52 +00:00
live.go test: add -update_errors flag to run script 2015-04-10 11:33:42 +00: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/mapnan.go: add regression test for non-empty interfaces. 2014-08-06 17:02:55 -04:00
maplinear.go test: make maplinear more robust 2014-10-27 18:59:02 -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 cmd/gc: comma-ok assignments produce untyped bool as 2nd result 2014-08-11 16:11:55 -07: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: optimize existence-only map lookups 2015-01-07 22:36:06 +00:00
nilptr2.go test: revert changes made for Go SSA interpreter test. 2013-10-08 14:36:20 -04:00
nilptr3.go cmd/7g: enable peephole optimizer 2015-04-08 08:16:54 +00: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
nosplit.go test: fix build on GOARCH=ppc64/ppc64le 2015-06-06 20:22:57 +00: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
print.go runtime: move built-in print routines to go. 2014-07-31 13:48:48 -07:00
print.out runtime: move built-in print routines to go. 2014-07-31 13:48:48 -07: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 cmd/gc: implement 'for range x {' 2014-07-16 19:27:10 -04: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
recover4.go test: fix recover4 test on 64kb systems 2015-03-17 05:25:01 +00:00
recover.go test: add more cases to recover.go 2014-10-22 08:06:15 -07: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 cmd/gc: shorten temporary lifetimes when possible 2014-04-01 13:31:38 -04: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: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate1.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate2.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate3.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate.go test: add rotate.go and fixedbugs/bug313 2013-01-11 22:42:55 +01:00
run.go test: make test/run.go support sharding 2015-06-04 19:45:29 +00: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: avoid "declared but not used" errors in shift1.go 2014-07-20 12:25:24 -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_run.go all: retire architecture letter in file names, public API 2015-05-21 17:32:17 +00:00
sinit.go test: move linkx and sinit to run.go 2014-11-06 15:14:08 -05:00
sizeof.go test: correct sizeof.go. 2013-06-02 19:10:11 +02:00
slice3.go cmd/gc, runtime: treat slices and strings like pointers in garbage collection 2014-08-25 14:38:19 -04:00
slice3err.go test: match gccgo error messages 2013-12-12 17:18:12 -08:00
slicecap.go cmd/gc, runtime: treat slices and strings like pointers in garbage collection 2014-08-25 14:38:19 -04:00
sliceopt.go cmd/internal/gc: optimize slice + write barrier 2015-05-13 19:20:39 +00: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
tinyfin.go runtime: combine small NoScan allocations 2014-01-24 22:35:11 +04:00
torture.go cmd/8g: don't allocate a register early for cap(CHAN). 2014-07-01 09:20:51 +02: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
writebarrier.go cmd/internal/gc: add missing write barrier in append(x, BigStructWithPointers) 2015-05-19 15:28:29 +00:00
zerodivide.go test: ensure all failing tests exit nonzero. 2013-02-12 13:17:49 -05:00