Hi! On Tue, Nov 24, 2020 at 11:55:23AM +0100, Ulrich Weigand wrote: > On Sat, Nov 21, 2020 at 01:57:32PM -0600, Segher Boessenkool wrote: > > It all makes sense, and is a nice improvement :-) But please mention it > > in the release notes? No doubt people did use non-sensical flag > > combinations, and they will be affected. Thanks! > > Here's a proposed patch to update the gcc-11 changes.hmtl. > > OK to commit?
This looks perfect to me. It even looks like fine HTML (but I would trust the W3C validator over me on that, hehe. > diff --git a/htdocs/gcc-11/changes.html b/htdocs/gcc-11/changes.html > index 46a6a37..c0f896a 100644 > --- a/htdocs/gcc-11/changes.html > +++ b/htdocs/gcc-11/changes.html > @@ -58,6 +58,29 @@ a work-in-progress.</p> > is deprecated and will be removed in a future release. It should be > possible to use <code>--enable-cheaders=c_global</code> (the default) > with no change in behaviour. </li> > + > + <li>Some inconsistencies in handling combinations of > <code>-ffast-math</code>, > + <code>-fno-fast-math</code>, <code>-funsafe-math-optimizations</code>, > + <code>-fno-unsafe-math-optimizations</code>, and their component flags > + have been fixed. This might change the behavior of the compiler when > + invoked with certain combinations of such command line options. > + The behavior is now consistently: > + <ul> > + <li>If a component flag of <code>-ffast-math</code> or (trailing space, if you care) > + <code>-funsafe-math-optimizations</code> is explicitly set or reset > + on the command line, this will override any implicit change, no > matter > + in which order the flags come on the command line.</li> > + <li>Any component flag (which is not explicity set or reset on the > command > + line) that was modified from its default by > <code>-ffast-math</code> or > + <code>-funsafe-math-optimizations</code> is always reset to its > default > + by a subsequent <code>-fno-fast-math</code> or > + <code>-fno-unsafe-math-optimizations</code>.</li> > + <li><code>-ffast-math</code> no longer implicitly changes > + <code>-fsignaling-math</code>. > + <li>The <code>__FAST_MATH__</code> preprocessor macro is set if and > + only if all component flags of <code>-ffast-math</code> are set > + to the value documented as the effect of > <code>-ffast-math</code>.</li> > + </ul></li> > </ul> Thanks, Segher