Explorar o código

Improve metadata for `context`

gingerBill %!s(int64=3) %!d(string=hai) anos
pai
achega
42ad54c28e
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      src/llvm_backend_debug.cpp

+ 6 - 1
src/llvm_backend_debug.cpp

@@ -1050,5 +1050,10 @@ void lb_add_debug_context_variable(lbProcedure *p, lbAddr const &ctx) {
 	token.string = str_lit("context");
 	token.pos = pos;
 
-	lb_add_debug_local_variable(p, ctx.addr.value, t_context, token);
+	LLVMValueRef ptr = ctx.addr.value;
+	while (LLVMIsABitCastInst(ptr)) {
+		ptr = LLVMGetOperand(ptr, 0);
+	}
+
+	lb_add_debug_local_variable(p, ptr, t_context, token);
 }