go/test/fixedbugs
Russ Cox 1357f548b0 cmd/gc: fix two select temporary bugs
The introduction of temporaries in order.c was not
quite right for two corner cases:

1) The rewrite that pushed new variables on the lhs of
a receive into the body of the case was dropping the
declaration of the variables. If the variables escape,
the declaration is what allocates them.
Caught by escape analysis sanity check.
In fact the declarations should move into the body
always, so that we only allocate if the corresponding
case is selected. Do that. (This is an optimization that
was already present in Go 1.2. The new order code just
made it stop working.)

Fixes #7997.

2) The optimization to turn a single-recv select into
an ordinary receive assumed it could take the address
of the destination; not so if the destination is _.

Fixes #7998.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/100480043
2014-05-15 19:16:18 -04:00
..
bug083.dir
bug088.dir
bug106.dir
bug133.dir
bug160.dir
bug191.dir
bug222.dir
bug248.dir
bug282.dir
bug302.dir
bug306.dir
bug313.dir
bug322.dir
bug324.dir
bug335.dir
bug345.dir
bug367.dir
bug369.dir
bug377.dir
bug382.dir
bug392.dir
bug396.dir
bug404.dir
bug407.dir
bug414.dir
bug415.dir
bug424.dir
bug437.dir
bug448.dir
bug460.dir
bug465.dir
bug466.dir
bug467.dir
bug468.dir
bug472.dir
bug478.dir
bug479.dir
bug480.dir
issue3552.dir
issue4252.dir
issue4326.dir
issue4370.dir
issue4510.dir
issue4590.dir
issue4879.dir
issue4932.dir
issue4964.dir
issue5105.dir
issue5125.dir
issue5259.dir
issue5260.dir
issue5291.dir
issue5470.dir
issue5614.dir
issue5755.dir
issue5910.dir
issue5957.dir
issue6295.dir
issue6513.dir
issue6789.dir
issue7023.dir
issue7648.dir cmd/gc: fix spurious "bad negated constant" for complex constants. 2014-04-01 02:55:38 -04:00
issue7995b.dir cmd/gc: correct handling of globals, func args, results 2014-05-15 15:34:53 -04:00
bug000.go
bug002.go
bug003.go
bug004.go
bug005.go
bug006.go
bug007.go
bug008.go
bug009.go
bug010.go
bug011.go
bug012.go
bug013.go
bug014.go
bug015.go
bug016.go
bug017.go
bug020.go
bug021.go
bug022.go
bug023.go
bug024.go
bug026.go
bug027.go
bug028.go
bug030.go
bug031.go
bug035.go
bug037.go
bug039.go
bug040.go
bug045.go
bug046.go
bug047.go
bug048.go
bug049.go
bug050.go
bug051.go
bug052.go
bug053.go
bug054.go
bug055.go
bug056.go
bug057.go
bug058.go
bug059.go
bug060.go
bug061.go
bug062.go
bug063.go
bug064.go
bug065.go
bug066.go
bug067.go
bug068.go
bug069.go
bug070.go
bug071.go
bug072.go
bug073.go
bug074.go
bug075.go
bug076.go
bug077.go
bug078.go
bug080.go
bug081.go
bug082.go
bug083.go
bug084.go
bug085.go
bug086.go
bug087.go
bug088.go
bug089.go
bug090.go
bug091.go
bug092.go
bug093.go
bug094.go
bug096.go
bug097.go
bug098.go
bug099.go
bug101.go
bug102.go
bug103.go
bug104.go
bug106.go
bug107.go
bug108.go
bug109.go
bug110.go
bug111.go
bug112.go
bug113.go
bug114.go
bug115.go
bug116.go
bug117.go
bug118.go
bug119.go
bug120.go
bug121.go
bug122.go
bug123.go
bug126.go
bug127.go
bug128.go
bug129.go
bug130.go
bug131.go
bug132.go
bug133.go
bug135.go
bug136.go
bug137.go
bug139.go
bug140.go
bug141.go
bug142.go
bug143.go
bug144.go
bug145.go
bug146.go
bug147.go
bug148.go
bug149.go
bug150.go
bug151.go
bug152.go
bug154.go
bug155.go
bug156.go
bug157.go
bug158.go
bug159.go
bug160.go
bug161.go
bug163.go
bug164.go
bug165.go
bug167.go
bug168.go
bug169.go
bug170.go
bug171.go
bug172.go
bug173.go
bug174.go
bug175.go
bug176.go cmd/gc: suppress array index error caused by a previously reported error 2014-03-29 15:45:40 +01:00
bug177.go
bug178.go
bug179.go
bug180.go
bug181.go
bug182.go
bug183.go
bug184.go
bug185.go
bug186.go
bug187.go
bug188.go
bug189.go
bug190.go
bug191.go
bug192.go
bug193.go
bug194.go
bug195.go
bug196.go
bug197.go
bug198.go
bug199.go
bug200.go
bug201.go
bug202.go
bug203.go
bug204.go
bug205.go
bug206.go
bug206.out
bug207.go
bug208.go
bug209.go
bug211.go
bug212.go
bug213.go
bug214.go
bug215.go
bug216.go
bug217.go
bug218.go
bug219.go
bug221.go
bug222.go
bug223.go
bug224.go
bug225.go
bug227.go
bug228.go
bug229.go
bug230.go
bug231.go
bug232.go
bug233.go
bug234.go
bug235.go
bug236.go
bug237.go
bug238.go
bug239.go
bug240.go
bug241.go
bug242.go
bug243.go
bug244.go
bug245.go
bug246.go
bug247.go
bug248.go
bug249.go
bug250.go
bug251.go
bug252.go
bug253.go
bug254.go
bug255.go
bug256.go
bug257.go
bug258.go
bug259.go
bug260.go
bug261.go
bug262.go
bug263.go
bug264.go
bug265.go
bug266.go
bug267.go
bug269.go
bug271.go
bug272.go
bug273.go
bug274.go
bug275.go
bug276.go
bug277.go
bug278.go
bug279.go
bug280.go
bug281.go
bug282.go
bug283.go
bug284.go
bug285.go
bug286.go
bug287.go
bug288.go
bug289.go
bug290.go
bug291.go
bug292.go
bug293.go
bug294.go
bug295.go
bug296.go
bug297.go
bug298.go
bug299.go
bug300.go
bug301.go
bug302.go
bug303.go
bug304.go
bug305.go
bug306.go
bug307.go
bug308.go
bug309.go
bug311.go
bug312.go
bug313.go
bug314.go
bug315.go
bug316.go
bug317.go
bug318.go
bug319.go
bug320.go
bug321.go
bug322.go
bug323.go
bug324.go
bug325.go
bug326.go
bug327.go
bug328.go
bug328.out
bug329.go
bug330.go
bug331.go
bug332.go
bug333.go
bug334.go
bug335.go
bug336.go
bug337.go
bug338.go
bug339.go
bug340.go
bug341.go
bug342.go
bug343.go
bug344.go
bug345.go
bug346.go
bug347.go
bug348.go
bug349.go
bug350.go
bug351.go
bug352.go
bug353.go
bug354.go
bug355.go
bug356.go
bug357.go
bug358.go
bug361.go
bug362.go
bug363.go
bug364.go
bug365.go
bug366.go
bug367.go
bug368.go
bug369.go
bug370.go
bug371.go
bug372.go
bug373.go
bug374.go
bug375.go
bug376.go
bug377.go
bug378.go
bug379.go
bug380.go
bug381.go
bug382.go
bug383.go
bug384.go
bug385_32.go test: enable bug385_32 test on amd64p32. 2014-03-20 07:28:24 +01:00
bug385_64.go
bug386.go
bug387.go
bug388.go
bug389.go
bug390.go
bug391.go
bug392.go
bug393.go
bug394.go
bug396.go
bug397.go
bug398.go
bug399.go
bug401.go
bug402.go
bug403.go
bug404.go
bug405.go
bug406.go
bug407.go
bug409.go
bug409.out
bug410.go
bug411.go
bug412.go
bug413.go
bug414.go
bug415.go
bug416.go
bug417.go
bug418.go
bug419.go
bug420.go
bug421.go
bug422.go
bug423.go
bug424.go
bug425.go
bug426.go
bug427.go
bug428.go
bug429.go
bug430.go
bug431.go
bug432.go
bug433.go
bug434.go
bug435.go
bug436.go
bug437.go
bug438.go
bug439.go
bug440_32.go
bug440_64.go
bug441.go
bug442.go
bug443.go
bug444.go
bug445.go
bug446.go
bug447.go
bug448.go
bug449.go
bug450.go
bug451.go
bug452.go
bug453.go
bug454.go
bug455.go
bug456.go
bug457.go
bug458.go
bug459.go
bug460.go
bug461.go
bug462.go
bug463.go
bug464.go
bug465.go
bug466.go
bug467.go
bug468.go
bug470.go
bug471.go
bug472.go
bug473.go
bug474.go
bug475.go
bug476.go
bug477.go
bug478.go
bug479.go
bug480.go
bug481.go
bug482.go
bug483.go cmd/gc: record &x[0] as taking address of x, if x is an array 2014-02-15 20:01:15 -05:00
bug484.go cmd/gc: liveness-related bug fixes 2014-03-27 14:05:57 -04:00
bug485.go test: add test that gccgo compiled incorrectly 2014-05-06 09:01:38 -04:00
bug1515.go
issue887.go
issue1304.go cmd/gc: correct handling of globals, func args, results 2014-05-15 15:34:53 -04:00
issue2615.go
issue3552.go
issue3705.go
issue3783.go
issue3924.go
issue3925.go
issue4066.go
issue4085a.go
issue4085b.go
issue4097.go
issue4099.go
issue4162.go
issue4167.go
issue4232.go
issue4251.go
issue4252.go
issue4264.go
issue4283.go
issue4313.go
issue4316.go
issue4323.go
issue4326.go
issue4348.go
issue4353.go
issue4359.go
issue4370.go
issue4388.go test: fix flakey test case for issue 4388 2014-05-15 06:39:15 +09:00
issue4396a.go
issue4396b.go
issue4399.go
issue4405.go
issue4429.go
issue4448.go
issue4452.go
issue4458.go
issue4463.go
issue4468.go
issue4470.go
issue4495.go
issue4510.go
issue4517a.go
issue4517b.go
issue4517c.go
issue4517d.go
issue4518.go
issue4529.go
issue4545.go
issue4562.go
issue4585.go
issue4590.go
issue4610.go
issue4614.go
issue4618.go
issue4620.go
issue4654.go
issue4663.go
issue4667.go
issue4734.go
issue4748.go
issue4752.go
issue4776.go
issue4785.go
issue4813.go
issue4847.go
issue4879.go
issue4909a.go
issue4909b.go
issue4932.go
issue4964.go
issue5002.go
issue5056.go
issue5089.go
issue5105.go
issue5125.go
issue5162.go
issue5172.go
issue5231.go
issue5244.go
issue5259.go
issue5260.go
issue5291.go
issue5358.go
issue5470.go
issue5493.go
issue5515.go
issue5581.go
issue5607.go
issue5609.go
issue5614.go
issue5698.go
issue5704.go
issue5753.go
issue5755.go
issue5793.go cmd/gc: allow append and complex builtins to accept 2-result call expression as first argument. 2014-03-05 14:16:21 -05:00
issue5809.go
issue5820.go
issue5841.go
issue5856.go
issue5910.go
issue5957.go
issue5963.go
issue6004.go
issue6036.go
issue6055.go
issue6131.go
issue6140.go
issue6247.go
issue6269.go
issue6295.go
issue6298.go
issue6399.go
issue6402.go cmd/gc: fix spurious 'use of untyped nil' error 2014-03-27 18:47:00 +01:00
issue6403.go cmd/gc: fix spurious 'const initializer is not a constant' error 2014-03-24 20:36:42 +01:00
issue6405.go cmd/gc: fix spurious 'not enough arguments to return' error 2014-03-14 16:42:42 +01:00
issue6406.go
issue6500.go cmd/gc: reject incorrect use of fallthrough. 2014-02-19 07:55:03 +01:00
issue6513.go
issue6572.go
issue6789.go
issue6847.go cmd/gc: fix spurious type errors in walkselect. 2014-03-13 08:14:05 +01:00
issue6889.go cmd/gc: avoid confusing error message "ovf in mpaddxx" 2014-04-09 08:36:27 +02:00
issue6899.go
issue6899.out
issue6902.go cmd/gc: round floats with a large negative exponent towards zero 2014-03-24 10:10:29 -07:00
issue6964.go
issue7023.go
issue7044.go liblink: fix bad code generated for MOVFD/MOVDF when reg > 7 2014-03-11 14:04:44 -04:00
issue7083.go
issue7129.go cmd/gc: increase specificity of errors in function call context 2014-04-11 15:57:30 +02:00
issue7150.go cmd/gc: fix array index out of bounds error message 2014-02-19 11:29:36 -08:00
issue7153.go cmd/gc: suppress array index error caused by a previously reported error 2014-03-29 15:45:40 +01:00
issue7214.go cmd/gc: check duplicate keys in maps with interface{} key type 2014-04-04 16:46:23 +02:00
issue7223.go cmd/gc: diagnose "make([]T, non-integer)" correctly. 2014-02-23 16:31:48 -05:00
issue7272.go
issue7310.go cmd/gc: fix internal crash 2014-03-03 19:55:40 -05:00
issue7316.go cmd/gc: alias more variables during register allocation 2014-05-12 17:10:36 -04:00
issue7346.go cmd/gc: use a register to checknil constants. 2014-03-04 08:18:17 +01:00
issue7366.go cmd/gc: fix walkcompare bugs. 2014-02-24 19:51:59 +01:00
issue7405.go cmd/6g, cmd/8g: skip CONVNOP nodes in bgen. 2014-03-20 22:22:37 +01:00
issue7419.go cmd/gc: check exponent overflow and underflow in mparith 2014-03-19 05:48:00 +01:00
issue7525.go cmd/gc: fix error check for self-referential array type. 2014-03-17 20:26:19 -07:00
issue7538a.go cmd/gc: ignore blank (_) labels in label declarations 2014-04-09 08:34:17 +02:00
issue7538b.go cmd/gc: ignore blank (_) labels in label declarations 2014-04-09 08:34:17 +02:00
issue7547.go cmd/gc: compute size of keys & values before making map bucket 2014-04-04 12:58:19 -07:00
issue7550.go runtime: check that new slice cap doesn't overflow 2014-04-03 13:44:44 +11:00
issue7590.go test: add extra test case for issue 7590 2014-03-20 11:46:45 -07:00
issue7648.go cmd/gc: fix spurious "bad negated constant" for complex constants. 2014-04-01 02:55:38 -04:00
issue7675.go cmd/gc: fewer errors for wrong argument count 2014-04-16 22:42:09 -04:00
issue7742.go cmd/gc: fix typo in ordermapassign 2014-04-11 15:28:37 +02:00
issue7794.go cmd/gc: fix segfault in isgoconst. 2014-04-16 23:12:06 -04:00
issue7867.go cmd/gc: don't give credit for NOPs during register allocation 2014-05-09 09:55:17 -07:00
issue7944.go cmd/gc: fix liveness vs regopt mismatch for input variables 2014-05-12 17:19:02 -04:00
issue7995.go cmd/gc: correct handling of globals, func args, results 2014-05-15 15:34:53 -04:00
issue7995b.go cmd/gc: correct handling of globals, func args, results 2014-05-15 15:34:53 -04:00
issue7996.go cmd/gc: fix duplicate map key check 2014-05-15 15:34:37 -04:00
issue7997.go cmd/gc: fix two select temporary bugs 2014-05-15 19:16:18 -04:00
issue7998.go cmd/gc: fix two select temporary bugs 2014-05-15 19:16:18 -04:00
issue8004.go runtime: make scan of pointer-in-interface same as scan of pointer 2014-05-15 15:53:36 -04:00