| ... | @@ -12993,6 +12993,7 @@ static TypeTableEntry *ir_analyze_instruction_alignof(IrAnalyze *ira, IrInstruct | ... | @@ -12993,6 +12993,7 @@ static TypeTableEntry *ir_analyze_instruction_alignof(IrAnalyze *ira, IrInstruct |
| 12993 | return ira->codegen->builtin_types.entry_invalid; | 12993 | return ira->codegen->builtin_types.entry_invalid; |
| 12994 | TypeTableEntry *type_entry = ir_resolve_type(ira, type_value); | 12994 | TypeTableEntry *type_entry = ir_resolve_type(ira, type_value); |
| 12995 | | 12995 | |
| | 12996 | ensure_complete_type(ira->codegen, type_entry); |
| 12996 | if (type_is_invalid(type_entry)) { | 12997 | if (type_is_invalid(type_entry)) { |
| 12997 | return ira->codegen->builtin_types.entry_invalid; | 12998 | return ira->codegen->builtin_types.entry_invalid; |
| 12998 | } else if (type_entry->id == TypeTableEntryIdUnreachable) { | 12999 | } else if (type_entry->id == TypeTableEntryIdUnreachable) { |
| ... | @@ -13000,7 +13001,7 @@ static TypeTableEntry *ir_analyze_instruction_alignof(IrAnalyze *ira, IrInstruct | ... | @@ -13000,7 +13001,7 @@ static TypeTableEntry *ir_analyze_instruction_alignof(IrAnalyze *ira, IrInstruct |
| 13000 | buf_sprintf("no align available for type '%s'", buf_ptr(&type_entry->name))); | 13001 | buf_sprintf("no align available for type '%s'", buf_ptr(&type_entry->name))); |
| 13001 | return ira->codegen->builtin_types.entry_invalid; | 13002 | return ira->codegen->builtin_types.entry_invalid; |
| 13002 | } else { | 13003 | } else { |
| 13003 | uint64_t align_in_bytes = LLVMABISizeOfType(ira->codegen->target_data_ref, type_entry->type_ref); | 13004 | uint64_t align_in_bytes = LLVMABIAlignmentOfType(ira->codegen->target_data_ref, type_entry->type_ref); |
| 13004 | ConstExprValue *out_val = ir_build_const_from(ira, &instruction->base); | 13005 | ConstExprValue *out_val = ir_build_const_from(ira, &instruction->base); |
| 13005 | bignum_init_unsigned(&out_val->data.x_bignum, align_in_bytes); | 13006 | bignum_init_unsigned(&out_val->data.x_bignum, align_in_bytes); |
| 13006 | return ira->codegen->builtin_types.entry_num_lit_int; | 13007 | return ira->codegen->builtin_types.entry_num_lit_int; |