https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94217
Nicholas Krause <xerofoify at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerofoify at gmail dot com --- Comment #1 from Nicholas Krause <xerofoify at gmail dot com> --- Hi Marin, I've not sure if this is correct but it does not ICE with this fix: tree off = fold_convert (ptr_type_node, op1); - return build_fold_addr_expr_loc - (loc, + return build1_loc + (loc, ADDR_EXPR, TREE_TYPE (op0), fold_build2 (MEM_REF, TREE_TYPE (TREE_TYPE (op0)), unshare_expr (op0), off)); should actually be: (EXPR_LOCATION(off), ADDR_EXPR, TREE_TYPE (op0), fold_build2 (MEM_REF, TREE_TYPE (TREE_TYPE (op0)), unshare_expr (op0), off)); I've tested with your file and I get: star.ii: In member function ‘int B< <template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>, <template-parameter-1-4>, <template-parameter-1-5> >::_S_key()’: star.ii:9:19: warning: no return statement in function returning non-void [-Wreturn-type] 9 | int _S_key() { } | ^ star.ii: In member function ‘int B< <template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>, <template-parameter-1-4>, <template-parameter-1-5> >::_M_insert_(int*, int*, _Arg&&, _NodeGen&)’: star.ii:24:1: warning: no return statement in function returning non-void [-Wreturn-type] 24 | } However this seems to be on multiple ade package files so can you test it against that as well.