| // run |
| |
| // Copyright 2019 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. |
| |
| // Test that empty init functions are skipped. |
| |
| package main |
| |
| import _ "unsafe" // for go:linkname |
| |
| type initTask struct { |
| state uintptr |
| ndeps uintptr |
| nfns uintptr |
| } |
| |
| //go:linkname main_inittask main..inittask |
| var main_inittask initTask |
| |
| func main() { |
| if nfns := main_inittask.nfns; nfns != 0 { |
| println(nfns) |
| panic("unexpected init funcs") |
| } |
| } |
| |
| func init() { |
| } |
| |
| func init() { |
| if false { |
| } |
| } |
| |
| func init() { |
| for false { |
| } |
| } |