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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [escape3.go] - Rev 700

Compare with Previous | Blame | View Log

// $G $D/$F.go && $L $F.$A && ./$A.out

// Copyright 2011 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.

// Test run-time behavior of escape analysis-related optimizations.

package main

func main() {
        test1()
}

func test1() {
        check1(0)
        check1(1)
        check1(2)
}

type T1 struct {
        X, Y, Z int
}

func f() int {
        return 1
}

func check1(pass int) T1 {
        v := []T1{{X: f(), Z: f()}}
        if v[0].Y != 0 {
                panic("nonzero init")
        }
        v[0].Y = pass
        return v[0]
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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