blob: 99e66a2ddc1154b0737664ba0c1cc74b5f676ec0 [file] [log] [blame]
Rémy Oudomphengfc3797a2012-02-22 00:19:59 +01001// run
Russ Cox11a978a2008-10-29 13:46:55 -07002
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
7package main
8
Russ Cox839a6842009-01-20 14:40:40 -08009const B32 = 1<<32 - 1
Rob Pike325cf8e2010-03-24 16:46:53 -070010const C32 = (-1) & ((1 << 32) - 1)
Russ Cox839a6842009-01-20 14:40:40 -080011const D32 = ^0
Russ Cox11a978a2008-10-29 13:46:55 -070012
13func main() {
14 if B32 != 0xFFFFFFFF {
Rob Pike325cf8e2010-03-24 16:46:53 -070015 println("1<<32 - 1 is", B32, "should be", 0xFFFFFFFF)
16 panic("fail")
Russ Cox11a978a2008-10-29 13:46:55 -070017 }
18 if C32 != 0xFFFFFFFF {
Rob Pike325cf8e2010-03-24 16:46:53 -070019 println("(-1) & ((1<<32) - 1) is", C32, "should be", 0xFFFFFFFF)
20 panic("fail")
Russ Cox11a978a2008-10-29 13:46:55 -070021 }
22 if D32 != -1 {
Rob Pike325cf8e2010-03-24 16:46:53 -070023 println("^0 is", D32, "should be", -1)
24 panic("fail")
Russ Cox11a978a2008-10-29 13:46:55 -070025 }
26}