https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100537
--- Comment #5 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> ---
breakpoint at tree-ssa.c:1013 error ("address taken, but ADDRESSABLE bit not
set");
if ((VAR_P (base)
|| TREE_CODE (base) == PARM_DECL
|| TREE_CODE (base) == RESULT_DECL)
&& !TREE_ADDRESSABLE (base))
{
B error ("address taken, but ADDRESSABLE bit not set");
err = true;
}
we can see base:
p base
$1 = <var_decl 0x200000a285e0 go..C479>
And break at ggc_internal_alloc, b ggc-page.c:1455 if result == 0x200000a285e0
we can see the stack:
Unary_expression::do_get_backend
(expressions.cc:5322)->Gcc_backend::implicit_variable(go-gcc.cc:29239) ->
build_decl->make_node ->...-> ggc_internal_cleared_alloc
Gcc_backend::implicit_variable:
tree decl = build_decl(BUILTINS_LOCATION, VAR_DECL, ...
Unary_expression::do_get_backend (expressions.cc:5322):
gogo->backend()->implicit_variable(var_name, "", btype, true, true, false,
0);
where var_name is go..C479
And break at build_fold_addr_expr_loc if t == 0x200000a285e0
Gcc_backend::address_expression (go-gcc:1683) --> build_fold_addr_expr_loc