Commit d07413f9b7
Changed files (2)
src/ir.cpp
@@ -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;
}
CMakeLists.txt
@@ -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"