https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105093
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- --- t.ii.025t.waccess1 2022-03-29 12:27:14.769503716 +0200 +++ t.ii.026t.ubsan 2022-03-29 12:27:14.769503716 +0200 ... volatile struct X test21 () { volatile struct X & x.0_1; volatile struct X & x.1_2; + unsigned long _5; + unsigned long _6; + sizetype _7; + sizetype _8; <bb 2> : + _5 = (unsigned long) &<retval>; + _6 = (unsigned long) &<retval>; + _7 = _5 - _6; + _8 = _7 + 8; + .UBSAN_OBJECT_SIZE (&<retval>, _8, 8, 0); x.0_1 ={v} <retval>; X::X (x.0_1); return <retval>; the ubsan pass fails to mark <retval> as TREE_ADDRESSABLE.