github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/conversions/int.go (about)

     1  // RUN: llgo -o %t %s
     2  // RUN: %t 2>&1 | FileCheck %s
     3  
     4  // CHECK: 2147483647
     5  // CHECK-NEXT: 2147483647
     6  // CHECK-NEXT: 2147483647
     7  // CHECK-NEXT: 2147483648
     8  // CHECK-NEXT: -2147483648
     9  // CHECK-NEXT: 18446744071562067968
    10  // CHECK-NEXT: 0
    11  // CHECK-NEXT: 0
    12  // CHECK-NEXT: 0
    13  // CHECK-NEXT: -1
    14  // CHECK-NEXT: 4294967295
    15  // CHECK-NEXT: 4294967295
    16  // CHECK-NEXT: 0
    17  // CHECK-NEXT: 0
    18  // CHECK-NEXT: 0
    19  // CHECK-NEXT: 1
    20  // CHECK-NEXT: 1
    21  // CHECK-NEXT: 1
    22  
    23  package main
    24  
    25  func signed(i32 int32) {
    26  	println(uint32(i32))
    27  	println(int64(i32))
    28  	println(uint64(i32))
    29  }
    30  
    31  func unsigned(u32 uint32) {
    32  	println(int32(u32))
    33  	println(int64(u32))
    34  	println(uint64(u32))
    35  }
    36  
    37  func main() {
    38  	signed(1<<31 - 1)
    39  	signed(-1 << 31)
    40  	signed(0)
    41  	unsigned(1<<32 - 1)
    42  	unsigned(0)
    43  	unsigned(1)
    44  }