On Mar 11, 2024, Richard Biener <richard.guent...@gmail.com> wrote: > On Sat, Mar 9, 2024 at 10:10 AM Alexandre Oliva <ol...@adacore.com> wrote: >> >> >> The earlier patch for PR112938 arranged for volatile parms to be made >> indirect in internal strub wrapped bodies. >> >> The first problem that remained, more evident, was that the indirected >> parameter remained volatile, despite the indirection, but it wasn't >> regimplified, so indirecting it was malformed gimple. >> >> Regimplifying turned out not to be needed. The best course of action >> was to drop the volatility from the by-reference parm, that was being >> unexpectedly inherited from the original volatile parm. >> >> That exposed another problem: the dereferences would then lose their >> volatile status, so we had to bring volatile back to them. >> >> Regstrapped on x86_64-linux-gnu. Ok to install?
> OK Thanks, sorry, I dropped the ball on this one. I'm going to put it in momentarily. It had been approved for gcc 14, before it branched off; should I install it there as well? >> >> for gcc/ChangeLog >> >> PR middle-end/112938 >> * ipa-strub.cc (pass_ipa_strub::execute): Drop volatility from >> indirected parm. >> (maybe_make_indirect): Restore volatility in dereferences. >> >> for gcc/testsuite/ChangeLog >> >> PR middle-end/112938 >> * g++.dg/strub-internal-pr112938.cc: New. -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity Excluding neuro-others for not behaving ""normal"" is *not* inclusive