OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug236.go] - Blame information for rev 700

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 700 jeremybenn
// $G $D/$F.go && $L $F.$A && ./$A.out
2
 
3
// Copyright 2009 The Go Authors.  All rights reserved.
4
// Use of this source code is governed by a BSD-style
5
// license that can be found in the LICENSE file.
6
 
7
package main
8
 
9
var gen = 'a'
10
 
11
func f(n int) string {
12
        s := string(gen) + string(n+'A'-1)
13
        gen++
14
        return s
15
}
16
 
17
func g(x, y string) string { return x + y }
18
 
19
var v1 = f(1) + f(2)
20
var v2 = g(f(3), f(4))
21
var v3 = f(5) + f(6) + f(7) + f(8) + f(9)
22
 
23
func main() {
24
        gen = 'a'
25
 
26
        if v1 != "aAbB" {
27
                panic("BUG: bug236a")
28
        }
29
        if v2 != "cCdD" {
30
                panic("BUG: bug236b")
31
        }
32
        if v3 != "eEfFgGhHiI" {
33
                panic("BUG: bug236c")
34
        }
35
 
36
        switch "aAbB" {
37
        case f(1) + f(2):
38
        default:
39
                panic("BUG: bug236d")
40
        }
41
 
42
        switch "cCdD" {
43
        case g(f(3), f(4)):
44
        default:
45
                panic("BUG: bug236e")
46
        }
47
 
48
        switch "eEfFgGhHiI" {
49
        case f(5) + f(6) + f(7) + f(8) + f(9):
50
        default:
51
                panic("BUG: bug236f")
52
        }
53
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.