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

Subversion Repositories openrisc

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

Compare with Previous | Blame | View Log

// $G $D/$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

type s struct {
        a       bool;
        b       bool;
}

func
main() {
        var a,b bool;

        a = true;
        b = false;

        if !a { panic(1); }
        if b { panic(2); }
        if !!!a { panic(3); }
        if !!b { panic(4); }

        a = !b;
        if !a { panic(5); }
        if !!!a { panic(6); }

        var x *s;
        x = new(s);
        x.a = true;
        x.b = false;

        if !x.a { panic(7); }
        if x.b { panic(8); }
        if !!!x.a { panic(9); }
        if !!x.b { panic(10); }

        x.a = !x.b;
        if !x.a { panic(11); }
        if !!!x.a { panic(12); }

        /*
         * test &&
         */
        a = true;
        b = true;
        if !(a && b) { panic(21); }
        if a && !b { panic(22); }
        if !a && b { panic(23); }
        if !a && !b { panic(24); }

        a = false;
        b = true;
        if !(!a && b) { panic(31); }
        if !a && !b { panic(32); }
        if a && b { panic(33); }
        if a && !b { panic(34); }

        a = true;
        b = false;
        if !(a && !b) { panic(41); }
        if a && b { panic(41); }
        if !a && !b { panic(41); }
        if !a && b { panic(44); }

        a = false;
        b = false;
        if !(!a && !b) { panic(51); }
        if !a && b { panic(52); }
        if a && !b { panic(53); }
        if a && b { panic(54); }

        /*
         * test ||
         */
        a = true;
        b = true;
        if !(a || b) { panic(61); }
        if !(a || !b) { panic(62); }
        if !(!a || b) { panic(63); }
        if !a || !b { panic(64); }

        a = false;
        b = true;
        if !(!a || b) { panic(71); }
        if !(!a || !b) { panic(72); }
        if !(a || b) { panic(73); }
        if a || !b { panic(74); }

        a = true;
        b = false;
        if !(a || !b) { panic(81); }
        if !(a || b) { panic(82); }
        if !(!a || !b) { panic(83); }
        if !a || b { panic(84); }

        a = false;
        b = false;
        if !(!a || !b) { panic(91); }
        if !(!a || b) { panic(92); }
        if !(a || !b) { panic(93); }
        if a || b { panic(94); }
}

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.