1
0
mirror of https://github.com/golang/go synced 2024-11-23 21:50:08 -07:00
go/test/fixedbugs
Robert Griesemer 912a638b0c cmd/compile: check labels and branches during parse time
Instead of a separate check control flow pass (checkcfg.go)
operating on nodes, perform this check at parse time on the
new syntax tree. Permits this check to be done concurrently,
and doesn't depend on the specifics of the symbol's dclstack
implementation anymore. The remaining dclstack uses will be
removed in a follow-up change.

- added CheckBranches Mode flag (so we can turn off the check
  if we only care about syntactic correctness, e.g. for tests)

- adjusted test/goto.go error messages: the new branches
  checker only reports if a goto jumps into a block, but not
  which block (we may want to improve this again, eventually)

- also, the new branches checker reports one variable that
  is being jumped over by a goto, but it may not be the first
  one declared (this is fine either way)

- the new branches checker reports additional errors for
  fixedbugs/issue14006.go (not crucial to avoid those errors)

- the new branches checker now correctly reports only
  variable declarations being jumped over, rather than
  all declarations (issue 8042). Added respective tests.

Fixes #8042.

Change-Id: I53b6e1bda189748e1e1fb5b765a8a64337c27d40
Reviewed-on: https://go-review.googlesource.com/39998
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-04-19 00:36:34 +00: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
bug492.dir
gcc67968.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
issue7995b.dir
issue8060.dir
issue8280.dir
issue9355.dir
issue9537.dir
issue9608.dir
issue10066.dir
issue10219.dir
issue10700.dir
issue11053.dir
issue12677.dir
issue13777.dir
issue14164.dir
issue14331.dir
issue15071.dir
issue15470.dir
issue15514.dir
issue15548.dir
issue15572.dir
issue15609.dir
issue15646.dir
issue15838.dir
issue15920.dir
issue16133.dir
issue16317.dir
issue16616.dir
issue19467.dir cmd/compile: fix names of inlined methods from other packages 2017-03-29 17:27:49 +00:00
issue19548.dir cmd/compile/internal/gc: mark generated wrappers as DUPOK 2017-03-15 00:27:13 +00:00
issue19699.dir cmd/compile: eliminate dead code in if statements after typechecking 2017-04-18 17:13:30 +00:00
issue19764.dir cmd/link: canonicalize the "package" of dupok text symbols 2017-04-02 03:25:02 +00: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
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 cmd/compile/internal/gc: handle recursive interfaces better 2017-03-21 01:56:25 +00:00
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 cmd/compile: be slightly more tolerant in case of certain syntax errors 2017-03-24 20:07:15 +00:00
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 cmd/compile/internal/gc: handle recursive interfaces better 2017-03-21 01:56:25 +00:00
bug252.go
bug253.go
bug254.go
bug255.go cmd/compile: skip array bounds errors when type is broken 2017-04-10 20:57:08 +00:00
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 cmd/compile: eliminate "assignment count mismatch" - not needed anymore 2017-03-17 00:31:35 +00:00
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
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_run.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
bug485.go
bug486.go
bug487.go cmd/compile: eliminate "assignment count mismatch" - not needed anymore 2017-03-17 00:31:35 +00:00
bug488.go
bug489.go
bug490.go
bug491.go
bug492.go
bug493.go
bug494.go
bug495.go
bug496.go
bug497.go
bug498.go
bug499.go
bug500.go
bug501.go
bug1515.go
bug13343.go
bug19403.go test/fixedbugs: add test for #19403 2017-03-06 21:39:00 +00:00
gcc61204.go
gcc61244.go
gcc61246.go
gcc61248.go
gcc61253.go
gcc61254.go
gcc61255.go
gcc61258.go
gcc61264.go
gcc61265.go
gcc61273.go
gcc65755.go
gcc67968.go
gcc78763.go
gcc80226.go test: add test for gccgo compiler crash 2017-03-28 20:05:34 +00:00
issue887.go
issue1304.go
issue2615.go
issue3552.go
issue3705.go
issue3783.go
issue3925.go
issue4066.go
issue4085a.go
issue4085b.go
issue4097.go
issue4099.go
issue4162.go
issue4167.go
issue4215.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
issue4365.go
issue4370.go
issue4388.go
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
issue5373.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
issue6403.go
issue6405.go
issue6406.go
issue6500.go
issue6513.go
issue6572.go
issue6671.go
issue6703a.go
issue6703b.go
issue6703c.go
issue6703d.go
issue6703e.go
issue6703f.go
issue6703g.go
issue6703h.go
issue6703i.go
issue6703j.go
issue6703k.go
issue6703l.go
issue6703m.go
issue6703n.go
issue6703o.go
issue6703p.go
issue6703q.go
issue6703r.go
issue6703s.go
issue6703t.go
issue6703u.go
issue6703v.go
issue6703w.go
issue6703x.go
issue6703y.go
issue6703z.go
issue6750.go
issue6772.go
issue6789.go
issue6847.go
issue6866.go
issue6889.go
issue6899.go
issue6899.out
issue6902.go
issue6964.go
issue7023.go
issue7044.go
issue7050.go
issue7083.go
issue7129.go
issue7150.go
issue7153.go
issue7214.go
issue7223.go
issue7272.go
issue7310.go
issue7316.go
issue7346.go
issue7366.go
issue7405.go
issue7419.go
issue7525.go cmd/compile: skip array bounds errors when type is broken 2017-04-10 20:57:08 +00:00
issue7525b.go cmd/compile: skip array bounds errors when type is broken 2017-04-10 20:57:08 +00:00
issue7525c.go cmd/compile: skip array bounds errors when type is broken 2017-04-10 20:57:08 +00:00
issue7538a.go
issue7538b.go
issue7547.go
issue7550.go
issue7590.go
issue7648.go
issue7675.go
issue7690.go
issue7740.go
issue7742.go
issue7746.go
issue7760.go
issue7794.go
issue7863.go
issue7867.go
issue7884.go
issue7944.go
issue7995.go
issue7995b.go
issue7996.go
issue7997.go
issue7998.go
issue8004.go
issue8011.go
issue8017.go
issue8028.go
issue8036.go
issue8039.go
issue8042.go cmd/compile: check labels and branches during parse time 2017-04-19 00:36:34 +00:00
issue8047.go
issue8047b.go
issue8048.go
issue8060.go
issue8073.go
issue8074.go
issue8076.go
issue8079.go
issue8132.go
issue8139.go
issue8154.go
issue8155.go
issue8158.go
issue8183.go
issue8280.go
issue8311.go
issue8325.go
issue8336.go
issue8347.go
issue8385.go
issue8440.go
issue8475.go
issue8501.go
issue8507.go
issue8612.go
issue8613.go
issue8620.go
issue8745.go
issue8761.go
issue8836.go
issue8947.go
issue8961.go
issue9006.go
issue9017.go
issue9036.go
issue9076.go
issue9083.go
issue9110.go
issue9321.go
issue9355.go
issue9370.go
issue9432.go
issue9521.go
issue9537.go
issue9604.go
issue9604b.go
issue9608.go
issue9634.go
issue9691.go
issue9731.go
issue9738.go
issue9862_run.go
issue9862.go
issue10047.go
issue10066.go
issue10135.go
issue10219.go
issue10253.go
issue10284.go
issue10320.go
issue10332.go
issue10353.go
issue10407.go
issue10441.go
issue10486.go
issue10607.go
issue10607a.go
issue10654.go
issue10700.go
issue10925.go
issue10958.go test: disable flaky test/fixedbugs/issue10958.go 2017-04-13 18:28:29 +00:00
issue10975.go
issue10977.go
issue11053.go
issue11053.out
issue11256.go
issue11286.go
issue11326.go
issue11326b.go
issue11354.go cmd/compile: add Type.WidthCalculated 2017-03-28 18:06:09 +00:00
issue11359.go
issue11361.go
issue11362.go
issue11369.go
issue11370.go
issue11371.go cmd/compile: fix misleading "truncated to int" messages 2017-03-07 19:34:22 +00:00
issue11590.go
issue11610.go
issue11614.go
issue11656.go
issue11674.go cmd/compile: diagnose constant division by complex zero 2017-04-12 17:29:28 +00:00
issue11699.go
issue11737.go
issue11750.go
issue11771.go
issue11790.go
issue11987.go
issue12006.go
issue12108.go
issue12133.go
issue12226.go
issue12347.go
issue12411.go
issue12413.go
issue12525.go
issue12536.go cmd/compile: add test for Issue 12536 2017-04-14 14:16:09 +00:00
issue12577.go
issue12588.go
issue12677.go
issue12686.go
issue12944.go
issue13160.go
issue13162.go
issue13169.go
issue13171.go
issue13248.go
issue13261.go
issue13262.go
issue13263.go
issue13266.go
issue13268.go
issue13273.go
issue13274.go
issue13319.go
issue13337.go
issue13365.go
issue13415.go
issue13471.go cmd/compile: fix misleading "truncated to int" messages 2017-03-07 19:34:22 +00:00
issue13480.go
issue13485.go
issue13539.go
issue13559.go cmd/compile: fix misleading "truncated to int" messages 2017-03-07 19:34:22 +00:00
issue13587.go
issue13684.go
issue13777.go
issue13779.go
issue13799.go
issue13821.go
issue13821b.go
issue14006.go cmd/compile: check labels and branches during parse time 2017-04-19 00:36:34 +00:00
issue14010.go
issue14136.go
issue14164.go
issue14331.go
issue14405.go
issue14520.go
issue14553.go
issue14591.go
issue14636.go
issue14646.go
issue14651.go
issue14652.go
issue14725.go
issue14729.go
issue14988.go
issue14999.go
issue15002.go
issue15013.go
issue15039.go
issue15042.go
issue15055.go
issue15084.go
issue15091.go
issue15141.go
issue15175.go
issue15252.go
issue15277.go
issue15281.go
issue15303.go
issue15311.go
issue15329.go
issue15439.go
issue15470.go
issue15514.go
issue15528.go
issue15548.go
issue15550.go
issue15572.go
issue15585.go
issue15602.go
issue15604.go
issue15611.go
issue15646.go
issue15722.go
issue15733.go
issue15747.go
issue15747b.go
issue15838.go
issue15895.go
issue15898.go
issue15902.go
issue15920.go
issue15926.go
issue15961.go
issue15975.go
issue15988.go
issue16008.go
issue16016.go
issue16037_run.go
issue16095.go
issue16130.go
issue16133.go
issue16193.go
issue16249.go
issue16306.go
issue16317.go
issue16331.go
issue16369.go cmd/compile/internal/gc: export interface embedding information 2017-03-21 02:35:40 +00:00
issue16428.go
issue16439.go
issue16515.go
issue16616.go
issue16733.go
issue16741.go
issue16760.go
issue16804.go
issue16870.go
issue16948.go
issue16949.go
issue16985.go
issue17005.go
issue17038.go
issue17039.go
issue17111.go
issue17194.go
issue17270.go
issue17318.go
issue17328.go
issue17381.go
issue17449.go
issue17551.go
issue17588.go
issue17596.go
issue17631.go
issue17640.go
issue17645.go
issue17710.go
issue17752.go
issue17918.go
issue18092.go
issue18149.go
issue18231.go
issue18392.go cmd/compile/internal/gc: handle recursive interfaces better 2017-03-21 01:56:25 +00:00
issue18393.go cmd/compile: be slightly more tolerant in case of certain syntax errors 2017-03-24 20:07:15 +00:00
issue18410.go
issue18459.go
issue18595.go
issue18640.go
issue18655.go
issue18661.go
issue18725.go
issue18747.go
issue18808.go
issue18882.go
issue18906.go
issue18915.go
issue18994.go
issue19012.go
issue19040.go
issue19056.go
issue19078.go cmd/compile: zero return parameters earlier 2017-03-13 19:39:15 +00:00
issue19084.go
issue19137.go
issue19168.go
issue19182.go
issue19201.go test/fixedbugs: add a test for 19201 2017-03-28 19:07:23 +00:00
issue19217.go
issue19246.go
issue19275.go
issue19323.go
issue19359.go runtime: delay marking maps as writing until after first alg call 2017-03-02 17:38:30 +00:00
issue19467.go cmd/compile: fix names of inlined methods from other packages 2017-03-29 17:27:49 +00:00
issue19482.go cmd/compile: allow composite literal structs with _ fields 2017-04-07 22:01:18 +00:00
issue19515.go cmd/compile: don't spill rematerializeable value when resolving merge edges 2017-03-14 22:55:52 +00:00
issue19548.go cmd/compile/internal/gc: mark generated wrappers as DUPOK 2017-03-15 00:27:13 +00:00
issue19555.go cmd/compile: ensure TESTQconst AuxInt is in range 2017-03-15 21:44:08 +00:00
issue19610.go cmd/compile: don't permit declarations in post statement of for loop 2017-03-20 20:02:34 +00:00
issue19632.go cmd/compile: add regress test for issue 19632 2017-03-21 19:52:45 +00:00
issue19658.go runtime: improve output of panic(x) where x is numeric 2017-04-09 22:40:33 +00:00
issue19667.go cmd/compile: don't crash when reporting some syntax errors 2017-03-23 04:54:27 +00:00
issue19671.go cmd/compile: only SSA [0]T when T is SSA-able 2017-03-24 16:53:22 +00:00
issue19678.go cmd/compile: ignore all unreachable values during simple phi insertion 2017-03-24 18:00:15 +00:00
issue19679.go cmd/compile: don't export dead code in inlineable fuctions 2017-03-24 17:21:05 +00:00
issue19696.go cmd/compile: only SSA [0]T when T is SSA-able 2017-03-24 16:53:22 +00:00
issue19699.go cmd/compile: eliminate dead code in if statements after typechecking 2017-04-18 17:13:30 +00:00
issue19699b.go cmd/compile: eliminate dead code in if statements after typechecking 2017-04-18 17:13:30 +00:00
issue19705.go cmd/compile: eliminate dead code in if statements after typechecking 2017-04-18 17:13:30 +00:00
issue19743.go cmd/compile: added special case for reflect header fields to esc 2017-03-29 17:39:59 +00:00
issue19764.go cmd/link: canonicalize the "package" of dupok text symbols 2017-04-02 03:25:02 +00:00
issue19783.go cmd/compile: avoid infinite loops in dead blocks during phi insertion 2017-03-30 17:06:08 +00:00
issue19880.go cmd/compile: skip array bounds errors when type is broken 2017-04-10 20:57:08 +00:00
issue19911.go cmd/compile: make iface == iface const evaluation respect != 2017-04-10 20:05:56 +00:00
issue19947.go cmd/compile: do not print duplicate error on ideal->float{32,64} overflow 2017-04-12 21:00:15 +00:00