cgen: fix empty struct init (#9769)
parent
0a1d0e062d
commit
0cc04850d7
|
@ -5122,9 +5122,12 @@ fn (mut g Gen) struct_init(struct_init ast.StructInit) {
|
|||
}
|
||||
// The rest of the fields are zeroed.
|
||||
// `inited_fields` is a list of fields that have been init'ed, they are skipped
|
||||
// mut nr_fields := 0
|
||||
mut nr_fields := 1
|
||||
if sym.kind == .struct_ {
|
||||
info := sym.info as ast.Struct
|
||||
$if !msvc {
|
||||
nr_fields = info.fields.len
|
||||
}
|
||||
if info.is_union && struct_init.fields.len > 1 {
|
||||
verror('union must not have more than 1 initializer')
|
||||
}
|
||||
|
@ -5219,7 +5222,7 @@ fn (mut g Gen) struct_init(struct_init ast.StructInit) {
|
|||
g.indent--
|
||||
}
|
||||
|
||||
if !initialized {
|
||||
if !initialized && nr_fields > 0 {
|
||||
g.write('0')
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue