Russ Cox | a9425c7 | 2010-05-03 17:21:49 -0700 | [diff] [blame] | 1 | // $G -S $D/$F.go | egrep initdone >/dev/null && echo FAIL || true |
| 2 | |
| 3 | // Copyright 2010 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 | |
| 7 | package p |
| 8 | |
| 9 | // Should be no init func in the assembly. |
| 10 | // All these initializations should be done at link time. |
| 11 | |
Rob Pike | 4f61fc9 | 2010-09-04 10:36:13 +1000 | [diff] [blame] | 12 | type S struct{ a,b,c int } |
| 13 | type SS struct{ aa,bb,cc S } |
| 14 | type SA struct{ a,b,c [3]int } |
| 15 | type SC struct{ a,b,c []int } |
Russ Cox | a9425c7 | 2010-05-03 17:21:49 -0700 | [diff] [blame] | 16 | |
| 17 | var ( |
| 18 | zero = 2 |
| 19 | one = 1 |
| 20 | pi = 3.14 |
| 21 | slice = []byte{1,2,3} |
| 22 | sliceInt = []int{1,2,3} |
| 23 | hello = "hello, world" |
| 24 | bytes = []byte("hello, world") |
| 25 | four, five = 4, 5 |
| 26 | x, y = 0.1, "hello" |
| 27 | nilslice []byte = nil |
| 28 | nilmap map[string]int = nil |
| 29 | nilfunc func() = nil |
| 30 | nilchan chan int = nil |
| 31 | nilptr *byte = nil |
| 32 | ) |
| 33 | |
| 34 | var a = [3]int{1001, 1002, 1003} |
| 35 | var s = S{1101, 1102, 1103} |
| 36 | var c = []int{1201, 1202, 1203} |
| 37 | |
| 38 | var aa = [3][3]int{[3]int{2001,2002,2003}, [3]int{2004,2005,2006}, [3]int{2007,2008,2009}} |
| 39 | var as = [3]S{S{2101,2102,2103},S{2104,2105,2106},S{2107,2108,2109}} |
| 40 | var ac = [3][]int{[]int{2201,2202,2203}, []int{2204,2205,2206}, []int{2207,2208,2209}} |
| 41 | |
| 42 | var sa = SA{[3]int{3001,3002,3003},[3]int{3004,3005,3006},[3]int{3007,3008,3009}} |
| 43 | var ss = SS{S{3101,3102,3103},S{3104,3105,3106},S{3107,3108,3109}} |
| 44 | var sc = SC{[]int{3201,3202,3203},[]int{3204,3205,3206},[]int{3207,3208,3209}} |
| 45 | |
| 46 | var ca = [][3]int{[3]int{4001,4002,4003}, [3]int{4004,4005,4006}, [3]int{4007,4008,4009}} |
| 47 | var cs = []S{S{4101,4102,4103},S{4104,4105,4106},S{4107,4108,4109}} |
| 48 | var cc = [][]int{[]int{4201,4202,4203}, []int{4204,4205,4206}, []int{4207,4208,4209}} |
| 49 | |
| 50 | var answers = [...]int { |
| 51 | // s |
| 52 | 1101, 1102, 1103, |
| 53 | |
| 54 | // ss |
| 55 | 3101, 3102, 3103, |
| 56 | 3104, 3105, 3106, |
| 57 | 3107, 3108, 3109, |
| 58 | |
| 59 | // [0] |
| 60 | 1001, 1201, 1301, |
| 61 | 2101, 2102, 2103, |
| 62 | 4101, 4102, 4103, |
| 63 | 5101, 5102, 5103, |
| 64 | 3001, 3004, 3007, |
| 65 | 3201, 3204, 3207, |
| 66 | 3301, 3304, 3307, |
| 67 | |
| 68 | // [0][j] |
| 69 | 2001, 2201, 2301, 4001, 4201, 4301, 5001, 5201, 5301, |
| 70 | 2002, 2202, 2302, 4002, 4202, 4302, 5002, 5202, 5302, |
| 71 | 2003, 2203, 2303, 4003, 4203, 4303, 5003, 5203, 5303, |
| 72 | |
| 73 | // [1] |
| 74 | 1002, 1202, 1302, |
| 75 | 2104, 2105, 2106, |
| 76 | 4104, 4105, 4106, |
| 77 | 5104, 5105, 5106, |
| 78 | 3002, 3005, 3008, |
| 79 | 3202, 3205, 3208, |
| 80 | 3302, 3305, 3308, |
| 81 | |
| 82 | // [1][j] |
| 83 | 2004, 2204, 2304, 4004, 4204, 4304, 5004, 5204, 5304, |
| 84 | 2005, 2205, 2305, 4005, 4205, 4305, 5005, 5205, 5305, |
| 85 | 2006, 2206, 2306, 4006, 4206, 4306, 5006, 5206, 5306, |
| 86 | |
| 87 | // [2] |
| 88 | 1003, 1203, 1303, |
| 89 | 2107, 2108, 2109, |
| 90 | 4107, 4108, 4109, |
| 91 | 5107, 5108, 5109, |
| 92 | 3003, 3006, 3009, |
| 93 | 3203, 3206, 3209, |
| 94 | 3303, 3306, 3309, |
| 95 | |
| 96 | // [2][j] |
| 97 | 2007, 2207, 2307, 4007, 4207, 4307, 5007, 5207, 5307, |
| 98 | 2008, 2208, 2308, 4008, 4208, 4308, 5008, 5208, 5308, |
| 99 | 2009, 2209, 2309, 4009, 4209, 4309, 5009, 5209, 5309, |
| 100 | } |