lazy_cmp_zero only resolves type is zero bits for alignof

This commit is contained in:
Andrew Kelley 2020-03-09 14:24:04 -04:00
parent 14bbb82832
commit 7db6da7cb8
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9

View File

@ -15569,14 +15569,14 @@ static Error lazy_cmp_zero(CodeGen *codegen, AstNode *source_node, ZigValue *val
LazyValueAlignOf *lazy_align_of = reinterpret_cast<LazyValueAlignOf *>(val->data.x_lazy);
IrAnalyze *ira = lazy_align_of->ira;
uint32_t abi_align;
if ((err = type_val_resolve_abi_align(ira->codegen, source_node, lazy_align_of->target_type->value,
&abi_align)))
bool is_zero_bits;
if ((err = type_val_resolve_zero_bits(ira->codegen, lazy_align_of->target_type->value,
nullptr, nullptr, &is_zero_bits)))
{
return err;
}
*result = (abi_align == 0) ? CmpEQ : CmpGT;
*result = is_zero_bits ? CmpEQ : CmpGT;
return ErrorNone;
}
case LazyValueIdSizeOf: {