Add escape analysis check for #load directive to fix #5982.
This commit is contained in:
Jeroen van Rijn
2025-12-01 22:16:37 +01:00
parent ac61f083fa
commit 7e9ceaa281

View File

@@ -2596,6 +2596,10 @@ void check_unsafe_return(Operand const &o, Type *type, Ast *expr) {
unsafe_return_error(o, "a slice of a compound literal");
}
} else if (o.mode == Addressing_Constant && is_type_slice(type)) {
if (is_load_directive_call(o.expr)) {
return;
}
ERROR_BLOCK();
unsafe_return_error(o, "a compound literal of a slice");
error_line("\tNote: A constant slice value will use the memory of the current stack frame\n");