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