aboutsummaryrefslogtreecommitdiff
path: root/test/cmplx.go
diff options
context:
space:
mode:
authorAlberto Donizetti <alb.donizetti@gmail.com>2017-04-22 15:28:58 +0200
committerAlberto Donizetti <alb.donizetti@gmail.com>2017-04-24 12:37:49 +0000
commit1737aef270a8954f3f8718beb55d6ddfc1cf5d21 (patch)
tree6173eb7a020ea88e61613caa2586236cdb1ec8de /test/cmplx.go
parent26536b2f327781ad76afe22109b94b7b193407bf (diff)
downloadgo-1737aef270a8954f3f8718beb55d6ddfc1cf5d21.tar.gz
go-1737aef270a8954f3f8718beb55d6ddfc1cf5d21.zip
cmd/compile: more error position tests for the typechecker
This change adds line position tests for several yyerror calls in the typechecker that are currently not tested in any way. Untested yyerror calls were found by replacing them with yerrorl(src.NoXPos, ...) (thus destroying position information in the error), and then running the test suite. No failures means no test coverage for the relevant yyerror call. For #19683 Change-Id: Iedb3d2f02141b332e9bfa76dbf5ae930ad2fddc3 Reviewed-on: https://go-review.googlesource.com/41477 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'test/cmplx.go')
-rw-r--r--test/cmplx.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/cmplx.go b/test/cmplx.go
index 2d8a6229d6..dedf2bd8d3 100644
--- a/test/cmplx.go
+++ b/test/cmplx.go
@@ -28,6 +28,14 @@ var (
C128 Complex128
)
+func F1() int {
+ return 1
+}
+
+func F3() (int, int, int) {
+ return 1, 2, 3
+}
+
func main() {
// ok
c64 = complex(f32, f32)
@@ -41,6 +49,11 @@ func main() {
_ = complex(f64, F64) // ERROR "complex"
_ = complex(F64, f64) // ERROR "complex"
+ _ = complex(F1()) // ERROR "expects two arguments.*returns 1"
+ _ = complex(F3()) // ERROR "expects two arguments.*returns 3"
+
+ _ = complex() // ERROR "missing argument"
+
c128 = complex(f32, f32) // ERROR "cannot use"
c64 = complex(f64, f64) // ERROR "cannot use"
@@ -51,4 +64,5 @@ func main() {
C64 = complex(f32, f32) // ERROR "cannot use"
C128 = complex(f64, f64) // ERROR "cannot use"
+
}