go/test/fixedbugs
Russ Cox 20e97677fd cmd/gc: fix order of channel evaluation of receive channels
Normally, an expression of the form x.f or *y can be reordered
with function calls and communications.

Select is stricter than normal: each channel expression is evaluated
in source order. If you have case <-x.f and case <-foo(), then if the
evaluation of x.f causes a panic, foo must not have been called.
(This is in contrast to an expression like x.f + foo().)

Enforce this stricter ordering.

Fixes #8336.

LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews, r
https://golang.org/cl/126570043
2014-08-25 07:05:45 -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
bug488.dir test: add test for confusion with dot imports 2014-07-20 10:28:51 -07:00
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 cmd/gc: implement 'for range x {' 2014-07-16 19:27:10 -04:00
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 cmd/gc: drop parenthesization restriction for receiver types 2014-06-25 09:57:48 -04:00
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 cmd/gc: implement 'for range x {' 2014-07-16 19:27:10 -04:00
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
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
bug486.go test: add test for gccgo comment lexing failure 2014-07-08 14:09:35 -07:00
bug487.go test: add some tests for mismatches between call results and uses 2014-07-19 01:12:42 -07:00
bug488.go test: add test for confusion with dot imports 2014-07-20 10:28:51 -07:00
bug489.go test: add test for function type in function literal 2014-08-04 19:50:49 -07:00
bug490.go test: add another test case that gccgo crashed on 2014-08-08 10:43:44 -07: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
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
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
issue7050.go syscall: fix Write(nil) on NaCl 2014-05-20 11:38:34 -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
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
issue7272.go
issue7310.go
issue7316.go cmd/gc: alias more variables during register allocation 2014-05-12 17:10:36 -04:00
issue7346.go
issue7366.go
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
issue7760.go cmd/gc: disallow pointer constants 2014-08-15 11:33:31 -07:00
issue7794.go cmd/gc: fix segfault in isgoconst. 2014-04-16 23:12:06 -04:00
issue7863.go test: expand issue7863 test 2014-05-27 21:53:39 -07:00
issue7867.go cmd/gc: don't give credit for NOPs during register allocation 2014-05-09 09:55:17 -07:00
issue7884.go test: test issue 7884 (already fixed) 2014-05-20 11:42:25 -04: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
issue8011.go cmd/gc: fix <-<-expr 2014-05-19 15:08:04 -04:00
issue8028.go cmd/gc: fix race compilation failure 'non-orig name' 2014-05-27 23:59:27 -04:00
issue8036.go cmd/6g: treat vardef-initialized fat variables as live at calls 2014-05-30 16:41:58 -04:00
issue8039.go cmd/gc: fix defer copy(x, <-c) 2014-05-27 23:59:06 -04:00
issue8047.go runtime: add test for issue 8047. 2014-06-11 20:34:46 -04:00
issue8047b.go runtime: fix defer of nil func 2014-06-12 16:34:36 -04:00
issue8048.go runtime: make continuation pc available to stack walk 2014-05-31 10:10:12 -04:00
issue8073.go cmd/gc: fix conversion of runtime constant 2014-05-27 21:38:19 -04:00
issue8074.go test/fixedbugs: fix typo in comment 2014-06-29 20:34:35 +10:00
issue8076.go cmd/gc: fix infinite loop in nil check removal 2014-05-27 23:58:49 -04:00
issue8132.go runtime: fix correctness test at end of traceback 2014-06-01 13:57:46 -04:00
issue8139.go runtime: fix 1-byte return during x.(T) for 0-byte T 2014-06-02 21:06:30 -04:00
issue8155.go cmd/6g: fix stack zeroing on native client 2014-06-05 16:40:23 -04:00
issue8158.go runtime: fix panic stack during runtime.Goexit during panic 2014-06-06 16:52:14 -04:00
issue8325.go cmd/6g, cmd/8g: fix, test byte-sized magic multiply 2014-08-11 15:24:36 -04:00
issue8336.go cmd/gc: fix order of channel evaluation of receive channels 2014-08-25 07:05:45 -04:00
issue8347.go test: add test for issue8347 2014-07-18 20:59:55 -04:00
issue8475.go cmd/gc: comma-ok assignments produce untyped bool as 2nd result 2014-08-11 16:11:55 -07:00