https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112938
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alexandre Oliva <aol...@gcc.gnu.org>: https://gcc.gnu.org/g:37afeec8a635153ccd4e91bd686c93217706894d commit r14-6546-g37afeec8a635153ccd4e91bd686c93217706894d Author: Alexandre Oliva <ol...@adacore.com> Date: Thu Dec 14 10:41:13 2023 -0300 strub: handle volatile promoted args in internal strub [PR112938] When generating code for an internal strub wrapper, don't clear the DECL_NOT_GIMPLE_REG_P flag of volatile args, and gimplify them both before and after any conversion. While at that, move variable TMP into narrower scopes so that it's more trivial to track where ARG lives. for gcc/ChangeLog PR middle-end/112938 * ipa-strub.cc (pass_ipa_strub::execute): Handle promoted volatile args in internal strub. Simplify. for gcc/testsuite/ChangeLog PR middle-end/112938 * gcc.dg/strub-internal-volatile.c: New.