github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/literals/struct.go (about) 1 // RUN: llgo -o %t %s 2 // RUN: %t 2>&1 | FileCheck %s 3 4 // CHECK: 1 2 5 // CHECK-NEXT: 1 2 6 // CHECK-NEXT: 0 1 2 7 // CHECK-NEXT: 1 2 8 // CHECK-NEXT: 3 4 9 10 package main 11 12 type E struct { 13 e *E 14 } 15 16 type S struct { 17 *E 18 a, b int 19 } 20 21 type File struct { 22 } 23 24 type Reader struct { 25 } 26 27 type Response struct { 28 } 29 30 type reader struct { 31 *Reader 32 fd *File 33 resp *Response 34 } 35 36 type Range32 struct { 37 Lo uint32 38 Hi uint32 39 Stride uint32 40 } 41 42 func main() { 43 s := &S{nil, 1, 2} 44 println(s.a, s.b) 45 s = &S{a: 1, b: 2} 46 println(s.a, s.b) 47 48 _ = &reader{} 49 50 r := Range32{ 51 Lo: 0, 52 Stride: 2, 53 Hi: 1, 54 } 55 println(r.Lo, r.Hi, r.Stride) 56 57 // slice of structs 58 ss := []S{{nil, 1, 2}, {nil, 3, 4}} 59 for _, s := range ss { 60 println(s.a, s.b) 61 } 62 }