aboutsummaryrefslogtreecommitdiff
path: root/test/switch5.go
AgeCommit message (Collapse)Author
2020-12-14[dev.typeparams] test: finish triaging all outstanding failing testsRobert Griesemer
Also: Adjusted error patterns for passing test that have different error messages. Change-Id: I216294b4c4855aa93da22cdc3c0b3303e54a8420 Reviewed-on: https://go-review.googlesource.com/c/go/+/277994 Trust: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com> TryBot-Result: Go Bot <gobot@golang.org>
2018-10-16Revert "fmt: fix incorrect format of whole-number floats when using %#v"Filippo Valsorda
Numbers without decimals are valid Go representations of whole-number floats. That is, "var x float64 = 5" is valid Go. Avoid breakage in tests that expect a certain output from %#v by reverting to it. To guarantee the right type is generated by a print use %T(%#v) instead. Added a test to lock in this behavior. This reverts commit 7c7cecc1846aaaa0ce73931644fe1df2b4559e09. Fixes #27634 Updates #26363 Change-Id: I544c400a0903777dd216452a7e86dfe60b0b0283 Reviewed-on: https://go-review.googlesource.com/c/142597 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2018-08-28fmt: fix incorrect format of whole-number floats when using %#vDave Brophy
This fixes the unwanted behaviour where printing a zero float with the #v fmt verb outputs "0" - e.g. missing the trailing decimal. This means that the output would be interpreted as an int rather than a float when parsed as Go source. After this change the the output is "0.0". Fixes #26363 Change-Id: Ic5c060522459cd5ce077675d47c848b22ddc34fa GitHub-Last-Rev: adfb061363f0566acec134c81be9a3dcb1f4cac8 GitHub-Pull-Request: golang/go#26383 Reviewed-on: https://go-review.googlesource.com/123956 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-05-19cmd/compile: make duplicate expr cases readableDaniel Martí
Instead of just printing the value, print the original node to make the error more human-friendly. Also print the value if its string form is different than the original node, to make sure it's obvious what value was duplicated. This means that "case '@', '@':", which used to print: duplicate case 64 in switch Will now print: duplicate case '@' (value 64) in switch Factor this logic out into its own function to reuse it in range cases and any other place where we might want to print a node and its value in the future. Also needed to split the errorcheck files because expression switch case duplicates are now detected earlier, so they stop the compiler before it gets to generating the AST and detecting the type switch case duplicates. Fixes #20112. Change-Id: I9009b50dec0d0e705e5de9c9ccb08f1dce8a5a99 Reviewed-on: https://go-review.googlesource.com/41852 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-02-10cmd/compile/internal/syntax: removed gcCompat code needed to pass orig. testsRobert Griesemer
The gcCompat mode was introduced to match the new parser's node position setup exactly with the positions used by the original parser. Some of the gcCompat adjustments were required to satisfy syntax error test cases, and the rest were required to make toolstash cmp pass. This change removes the former gcCompat adjustments and instead adjusts the respective test cases as necessary. In some cases this makes the error lines consistent with the ones reported by gccgo. Where it has changed, the position associated with a given syntactic construct is the position (line/col number) of the left-most token belonging to the construct. Change-Id: I5b60c00c5999a895c4d6d6e9b383c6405ccf725c Reviewed-on: https://go-review.googlesource.com/36695 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-10-21cmd/compile: fix detection of duplicate cases for integer rangesMatthew Dempsky
Previously, the check to make sure we only considered constant cases for duplicates was skipping past integer ranges, because those use n.List instead of n.Left. Thanks to Emmanuel Odeke for investigating and helping to identify the root cause. Fixes #17517. Change-Id: I46fcda8ed9c346ff3a9647d50b83f1555587b740 Reviewed-on: https://go-review.googlesource.com/31716 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org>
2016-08-23cmd/compile: use a map to track const switch casesJosh Bleecher Snyder
This is simpler than the sorting technique. It also allows us to simplify or eliminate some of the sorting decisions. Most important, sorting will not work when case clauses represent ranges of integers: There is no correct sort order that allows overlap detection by comparing neighbors. Using a map allows of a cheap, simple approach to ranges, namely to insert every int in the map. The equivalent approach for sorting means juggling temporary Nodes for every int, which is a lot more expensive. Change-Id: I84df3cb805992a1b04d14e0e4b2334f943e0ce05 Reviewed-on: https://go-review.googlesource.com/26766 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-08-23cmd/compile: use a map to detect duplicate type switch casesJosh Bleecher Snyder
This is a bit simpler than playing sorting games, and it is clearer that it generates errors in the correct (source) order. It also allows us to simplify sorting. It also prevents quadratic error messages for (pathological) inputs with many duplicate type cases. While we’re here, refactoring deduping into separate functions. Negligible compilebench impact. Fixes #15912. Change-Id: I6cc19edd38875389a70ccbdbdf0d9b7d5ac5946f Reviewed-on: https://go-review.googlesource.com/26762 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-05-31test: add more switch error handling testsJosh Bleecher Snyder
Some of these errors are reported in the wrong places. That’s issue #15911 and #15912. Change-Id: Ia09d7f89be4d15f05217a542a61b6ac08090dd87 Reviewed-on: https://go-review.googlesource.com/23588 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>