From 2e562a5f366aabefd34a4191b2cd0b5e72d3d089 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 25 Sep 2018 12:03:39 -0400 Subject: fix crash on runtime index into slice of comptime type closes #1435 --- src/ir.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index 95172e2b59..33d42cfc5f 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -14640,6 +14640,12 @@ static ZigType *ir_analyze_instruction_elem_ptr(IrAnalyze *ira, IrInstructionEle } else { // runtime known element index + if (type_requires_comptime(return_type)) { + ir_add_error(ira, elem_index, + buf_sprintf("values of type '%s' must be comptime known, but index value is runtime known", + buf_ptr(&return_type->data.pointer.child_type->name))); + return ira->codegen->builtin_types.entry_invalid; + } if (ptr_align < abi_align) { if (elem_size >= ptr_align && elem_size % ptr_align == 0) { return_type = adjust_ptr_align(ira->codegen, return_type, ptr_align); -- cgit v1.2.3