summaryrefslogtreecommitdiff
path: root/gcc/testsuite/go.test/test/test0.go
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/go.test/test/test0.go
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/go.test/test/test0.go')
-rw-r--r--gcc/testsuite/go.test/test/test0.go92
1 files changed, 92 insertions, 0 deletions
diff --git a/gcc/testsuite/go.test/test/test0.go b/gcc/testsuite/go.test/test/test0.go
new file mode 100644
index 000000000..d8d86c427
--- /dev/null
+++ b/gcc/testsuite/go.test/test/test0.go
@@ -0,0 +1,92 @@
+// $G $F.go && $L $F.$A && ./$A.out
+
+// 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
+
+const a_const = 0
+
+const (
+ pi = /* the usual */ 3.14159265358979323
+ e = 2.718281828
+ mask1 int = 1 << iota
+ mask2 = 1 << iota
+ mask3 = 1 << iota
+ mask4 = 1 << iota
+)
+
+type (
+ Empty interface{}
+ Point struct {
+ x, y int
+ }
+ Point2 Point
+)
+
+func (p *Point) Initialize(x, y int) *Point {
+ p.x, p.y = x, y
+ return p
+}
+
+func (p *Point) Distance() int {
+ return p.x*p.x + p.y*p.y
+}
+
+var (
+ x1 int
+ x2 int
+ u, v, w float32
+)
+
+func foo() {}
+
+func min(x, y int) int {
+ if x < y {
+ return x
+ }
+ return y
+}
+
+func swap(x, y int) (u, v int) {
+ u = y
+ v = x
+ return
+}
+
+func control_structs() {
+ var p *Point = new(Point).Initialize(2, 3)
+ i := p.Distance()
+ var f float32 = 0.3
+ _ = f
+ for {
+ }
+ for {
+ }
+ for j := 0; j < i; j++ {
+ if i == 0 {
+ } else {
+ i = 0
+ }
+ var x float32
+ _ = x
+ }
+foo: // a label
+ var j int
+ switch y := 0; true {
+ case i < y:
+ fallthrough
+ case i < j:
+ case i == 0, i == 1, i == j:
+ i++
+ i++
+ goto foo
+ default:
+ i = -+-+i
+ break
+ }
+}
+
+func main() {
+}