On Mon, 20 Mar 2023, Jakub Jelinek via Gcc-patches wrote:
> On Mon, Mar 20, 2023 at 10:05:57PM +0000, Qing Zhao via Gcc-patches wrote: > > My question: is the above section the place in C standard “explicitly > > allows contractions”? If not, where it is in C standard? > > http://port70.net/%7Ensz/c/c99/n1256.html#6.5p8 > http://port70.net/%7Ensz/c/c99/n1256.html#note78 > http://port70.net/%7Ensz/c/c99/n1256.html#F.6 C only allows contractions within expressions, not across statements (i.e. either -ffp-contract=on or -ffp-contract=off would be compliant, but not our default -ffp-contract=fast). Unrestricted contraction across statements together with other optimizations gives rise to difficult-to-debug issues such as PR 106902. Alexander