https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99122
--- Comment #33 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > so that would mean adding > > && !DECL_BY_REFERENCE (DECL_RESULT (fndecl)) > > I suppose or looking at DECL_RESULT in the first place (which is a pointer > in that case). Not in the array case though: (gdb) p debug_tree(fndecl->decl_non_common.result) <result_decl 0x7ffff581c000 D.4658 type <array_type 0x7ffff5818bd0 inline22__arr type <boolean_type 0x7ffff6934e70 boolean sizes-gimplified public visited unsigned QI (gdb) p fndecl->decl_non_common.result->decl_common.decl_by_reference_flag $16 = 0