parent
23b07ad8d2
commit
d07413f9b7
|
@ -649,7 +649,9 @@ set(ZIG_C_HEADER_FILES
|
|||
"__clang_cuda_builtin_vars.h"
|
||||
"__clang_cuda_cmath.h"
|
||||
"__clang_cuda_complex_builtins.h"
|
||||
"__clang_cuda_device_functions.h"
|
||||
"__clang_cuda_intrinsics.h"
|
||||
"__clang_cuda_libdevice_declares.h"
|
||||
"__clang_cuda_math_forward_declares.h"
|
||||
"__clang_cuda_runtime_wrapper.h"
|
||||
"__stddef_max_align_t.h"
|
||||
|
@ -660,6 +662,7 @@ set(ZIG_C_HEADER_FILES
|
|||
"ammintrin.h"
|
||||
"arm64intr.h"
|
||||
"arm_acle.h"
|
||||
"arm_fp16.h"
|
||||
"arm_neon.h"
|
||||
"armintr.h"
|
||||
"avx2intrin.h"
|
||||
|
@ -689,6 +692,7 @@ set(ZIG_C_HEADER_FILES
|
|||
"bmi2intrin.h"
|
||||
"bmiintrin.h"
|
||||
"cetintrin.h"
|
||||
"cldemoteintrin.h"
|
||||
"clflushoptintrin.h"
|
||||
"clwbintrin.h"
|
||||
"clzerointrin.h"
|
||||
|
@ -709,6 +713,7 @@ set(ZIG_C_HEADER_FILES
|
|||
"immintrin.h"
|
||||
"intrin.h"
|
||||
"inttypes.h"
|
||||
"invpcidintrin.h"
|
||||
"iso646.h"
|
||||
"limits.h"
|
||||
"lwpintrin.h"
|
||||
|
@ -717,17 +722,21 @@ set(ZIG_C_HEADER_FILES
|
|||
"mm_malloc.h"
|
||||
"mmintrin.h"
|
||||
"module.modulemap"
|
||||
"movdirintrin.h"
|
||||
"msa.h"
|
||||
"mwaitxintrin.h"
|
||||
"nmmintrin.h"
|
||||
"opencl-c.h"
|
||||
"pconfigintrin.h"
|
||||
"pkuintrin.h"
|
||||
"pmmintrin.h"
|
||||
"popcntintrin.h"
|
||||
"prfchwintrin.h"
|
||||
"ptwriteintrin.h"
|
||||
"rdseedintrin.h"
|
||||
"rtmintrin.h"
|
||||
"s390intrin.h"
|
||||
"sgxintrin.h"
|
||||
"shaintrin.h"
|
||||
"smmintrin.h"
|
||||
"stdalign.h"
|
||||
|
@ -746,6 +755,8 @@ set(ZIG_C_HEADER_FILES
|
|||
"varargs.h"
|
||||
"vecintrin.h"
|
||||
"vpclmulqdqintrin.h"
|
||||
"waitpkgintrin.h"
|
||||
"wbnoinvdintrin.h"
|
||||
"wmmintrin.h"
|
||||
"x86intrin.h"
|
||||
"xmmintrin.h"
|
||||
|
|
|
@ -17153,6 +17153,7 @@ static Error ir_make_type_info_defs(IrAnalyze *ira, ConstExprValue *out_val, Sco
|
|||
}
|
||||
|
||||
static ConstExprValue *create_ptr_like_type_info(IrAnalyze *ira, ZigType *ptr_type_entry) {
|
||||
Error err;
|
||||
ZigType *attrs_type;
|
||||
uint32_t size_enum_index;
|
||||
if (is_slice(ptr_type_entry)) {
|
||||
|
@ -17165,6 +17166,9 @@ static ConstExprValue *create_ptr_like_type_info(IrAnalyze *ira, ZigType *ptr_ty
|
|||
zig_unreachable();
|
||||
}
|
||||
|
||||
if ((err = type_resolve(ira->codegen, attrs_type->data.pointer.child_type, ResolveStatusAlignmentKnown)))
|
||||
return nullptr;
|
||||
|
||||
ZigType *type_info_pointer_type = ir_type_info_get_type(ira, "Pointer", nullptr);
|
||||
assertNoError(ensure_complete_type(ira->codegen, type_info_pointer_type));
|
||||
|
||||
|
@ -17308,6 +17312,8 @@ static Error ir_make_type_info_value(IrAnalyze *ira, ZigType *type_entry, ConstE
|
|||
case ZigTypeIdPointer:
|
||||
{
|
||||
result = create_ptr_like_type_info(ira, type_entry);
|
||||
if (result == nullptr)
|
||||
return ErrorSemanticAnalyzeFail;
|
||||
break;
|
||||
}
|
||||
case ZigTypeIdArray:
|
||||
|
@ -17586,6 +17592,8 @@ static Error ir_make_type_info_value(IrAnalyze *ira, ZigType *type_entry, ConstE
|
|||
{
|
||||
if (type_entry->data.structure.is_slice) {
|
||||
result = create_ptr_like_type_info(ira, type_entry);
|
||||
if (result == nullptr)
|
||||
return ErrorSemanticAnalyzeFail;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue