https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80266
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-07-05 CC| |wilco at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Wilco <wilco at gcc dot gnu.org> --- Confirmed. This is the same issue as: https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02422.html Ada somehow generates SImode addresses for local variables which isn't correct. This happens early on in Expand, eg for testsuite/gnat.dg/abstract_with_anonymous_result.adb: (insn 9 8 10 2 (set (reg:DI 403) (plus:DI (reg/f:DI 68 virtual-stack-vars) (const_int -368 [0xfffffffffffffe90]))) (nil)) (insn 10 9 11 2 (set (reg:SI 404) (plus:SI (subreg:SI (reg:DI 403) 0) (const_int 56 [0x38]))) (nil)) (insn 11 10 12 2 (set (reg:DI 405) (plus:DI (reg/f:DI 68 virtual-stack-vars) (const_int -368 [0xfffffffffffffe90]))) (nil)) (insn 12 11 13 2 (set (reg:SI 406) (subreg:SI (reg:DI 405) 0)) (nil)) (insn 13 12 14 2 (set (mem/c:SI (reg:SI 404) [0 S4 A8]) (reg:SI 406)) (nil))