From 1e0b17b24c682cd856d2bb74062f3857ee5787c2 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Mon, 11 Aug 2008 11:40:19 -0700 Subject: [PATCH] - added test case for compiler bug re: exported variables of function pointer type R=r OCL=14086 CL=14086 --- test/bugs/bug088.dir/bug0.go | 9 +++++++++ test/bugs/bug088.dir/bug1.go | 22 ++++++++++++++++++++++ test/bugs/bug088.go | 6 ++++++ 3 files changed, 37 insertions(+) create mode 100644 test/bugs/bug088.dir/bug0.go create mode 100644 test/bugs/bug088.dir/bug1.go create mode 100644 test/bugs/bug088.go diff --git a/test/bugs/bug088.dir/bug0.go b/test/bugs/bug088.dir/bug0.go new file mode 100644 index 00000000000..77967d6e85b --- /dev/null +++ b/test/bugs/bug088.dir/bug0.go @@ -0,0 +1,9 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bug0 + +export var v0 *func() int; +export var v1 *func() (a int); +export var v2 *func() (a, b int); diff --git a/test/bugs/bug088.dir/bug1.go b/test/bugs/bug088.dir/bug1.go new file mode 100644 index 00000000000..7b78ad2459b --- /dev/null +++ b/test/bugs/bug088.dir/bug1.go @@ -0,0 +1,22 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import P "bug0" + +func main() { + a0 := P.v0(); // works + a1 := P.v1(); // works + a2, b2 := P.v2(); // doesn't work +} + +/* +uetli:~/Source/go1/test/bugs/bug088.dir gri$ 6g bug0.go && 6g bug1.go +bug1.go:8: shape error across := +bug1.go:8: a2: undefined +bug1.go:8: b2: undefined +bug1.go:8: illegal types for operand: AS + (<(bug0)P.int32>INT32) +*/ diff --git a/test/bugs/bug088.go b/test/bugs/bug088.go new file mode 100644 index 00000000000..f6fef4337dd --- /dev/null +++ b/test/bugs/bug088.go @@ -0,0 +1,6 @@ +// $G $D/$F.dir/bug0.go && $G $D/$F.dir/bug1.go || echo BUG: fails incorrectly + +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +