From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; 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. --- gcc/testsuite/go.test/test/intcvt.go | 179 +++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 gcc/testsuite/go.test/test/intcvt.go (limited to 'gcc/testsuite/go.test/test/intcvt.go') diff --git a/gcc/testsuite/go.test/test/intcvt.go b/gcc/testsuite/go.test/test/intcvt.go new file mode 100644 index 000000000..407bcfd9b --- /dev/null +++ b/gcc/testsuite/go.test/test/intcvt.go @@ -0,0 +1,179 @@ +// $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 + +const ( + ci8 = -1 << 7 + ci16 = -1<<15 + 100 + ci32 = -1<<31 + 100000 + ci64 = -1<<63 + 10000000001 + + cu8 = 1<<8 - 1 + cu16 = 1<<16 - 1234 + cu32 = 1<<32 - 1234567 + cu64 = 1<<64 - 1234567890123 + + cf32 = 1e8 + 0.5 + cf64 = -1e8 + 0.5 +) + +var ( + i8 int8 = ci8 + i16 int16 = ci16 + i32 int32 = ci32 + i64 int64 = ci64 + + u8 uint8 = cu8 + u16 uint16 = cu16 + u32 uint32 = cu32 + u64 uint64 = cu64 + + // f32 float32 = 1e8 + 0.5 + // f64 float64 = -1e8 + 0.5 +) + +func chki8(i, v int8) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chki16(i, v int16) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chki32(i, v int32) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chki64(i, v int64) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chku8(i, v uint8) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chku16(i, v uint16) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chku32(i, v uint32) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +func chku64(i, v uint64) { + if i != v { + println(i, "!=", v) + panic("fail") + } +} +//func chkf32(f, v float32) { if f != v { println(f, "!=", v); panic("fail") } } +//func chkf64(f, v float64) { if f != v { println(f, "!=", v); panic("fail") } } + +func main() { + chki8(int8(i8), ci8&0xff-1<<8) + chki8(int8(i16), ci16&0xff) + chki8(int8(i32), ci32&0xff-1<<8) + chki8(int8(i64), ci64&0xff) + chki8(int8(u8), cu8&0xff-1<<8) + chki8(int8(u16), cu16&0xff) + chki8(int8(u32), cu32&0xff) + chki8(int8(u64), cu64&0xff) + // chki8(int8(f32), 0) + // chki8(int8(f64), 0) + + chki16(int16(i8), ci8&0xffff-1<<16) + chki16(int16(i16), ci16&0xffff-1<<16) + chki16(int16(i32), ci32&0xffff-1<<16) + chki16(int16(i64), ci64&0xffff-1<<16) + chki16(int16(u8), cu8&0xffff) + chki16(int16(u16), cu16&0xffff-1<<16) + chki16(int16(u32), cu32&0xffff) + chki16(int16(u64), cu64&0xffff-1<<16) + // chki16(int16(f32), 0) + // chki16(int16(f64), 0) + + chki32(int32(i8), ci8&0xffffffff-1<<32) + chki32(int32(i16), ci16&0xffffffff-1<<32) + chki32(int32(i32), ci32&0xffffffff-1<<32) + chki32(int32(i64), ci64&0xffffffff) + chki32(int32(u8), cu8&0xffffffff) + chki32(int32(u16), cu16&0xffffffff) + chki32(int32(u32), cu32&0xffffffff-1<<32) + chki32(int32(u64), cu64&0xffffffff-1<<32) + // chki32(int32(f32), 0) + // chki32(int32(f64), 0) + + chki64(int64(i8), ci8&0xffffffffffffffff-1<<64) + chki64(int64(i16), ci16&0xffffffffffffffff-1<<64) + chki64(int64(i32), ci32&0xffffffffffffffff-1<<64) + chki64(int64(i64), ci64&0xffffffffffffffff-1<<64) + chki64(int64(u8), cu8&0xffffffffffffffff) + chki64(int64(u16), cu16&0xffffffffffffffff) + chki64(int64(u32), cu32&0xffffffffffffffff) + chki64(int64(u64), cu64&0xffffffffffffffff-1<<64) + // chki64(int64(f32), 0) + // chki64(int64(f64), 0) + + + chku8(uint8(i8), ci8&0xff) + chku8(uint8(i16), ci16&0xff) + chku8(uint8(i32), ci32&0xff) + chku8(uint8(i64), ci64&0xff) + chku8(uint8(u8), cu8&0xff) + chku8(uint8(u16), cu16&0xff) + chku8(uint8(u32), cu32&0xff) + chku8(uint8(u64), cu64&0xff) + // chku8(uint8(f32), 0) + // chku8(uint8(f64), 0) + + chku16(uint16(i8), ci8&0xffff) + chku16(uint16(i16), ci16&0xffff) + chku16(uint16(i32), ci32&0xffff) + chku16(uint16(i64), ci64&0xffff) + chku16(uint16(u8), cu8&0xffff) + chku16(uint16(u16), cu16&0xffff) + chku16(uint16(u32), cu32&0xffff) + chku16(uint16(u64), cu64&0xffff) + // chku16(uint16(f32), 0) + // chku16(uint16(f64), 0) + + chku32(uint32(i8), ci8&0xffffffff) + chku32(uint32(i16), ci16&0xffffffff) + chku32(uint32(i32), ci32&0xffffffff) + chku32(uint32(i64), ci64&0xffffffff) + chku32(uint32(u8), cu8&0xffffffff) + chku32(uint32(u16), cu16&0xffffffff) + chku32(uint32(u32), cu32&0xffffffff) + chku32(uint32(u64), cu64&0xffffffff) + // chku32(uint32(f32), 0) + // chku32(uint32(f64), 0) + + chku64(uint64(i8), ci8&0xffffffffffffffff) + chku64(uint64(i16), ci16&0xffffffffffffffff) + chku64(uint64(i32), ci32&0xffffffffffffffff) + chku64(uint64(i64), ci64&0xffffffffffffffff) + chku64(uint64(u8), cu8&0xffffffffffffffff) + chku64(uint64(u16), cu16&0xffffffffffffffff) + chku64(uint64(u32), cu32&0xffffffffffffffff) + chku64(uint64(u64), cu64&0xffffffffffffffff) + // chku64(uint64(f32), 0) + // chku64(uint64(f64), 0) +} -- cgit v1.2.3