On Thu, Sep 13, 2018 at 5:44 PM Richard Yao <r...@gentoo.org> wrote: > > On Sep 13, 2018, at 7:21 PM, Matt Turner <matts...@gentoo.org> wrote: > > > > On Thu, Sep 13, 2018 at 4:13 PM Richard Yao <r...@gentoo.org> wrote: > >>> On Sep 13, 2018, at 12:03 PM, Fabian Groffen <grob...@gentoo.org> wrote: > >>> > >>>> On 13-09-2018 07:36:09 -0400, Richard Yao wrote: > >>>> > >>>> > >>>>>> On Sep 12, 2018, at 6:55 PM, Thomas Deutschmann <whi...@gentoo.org> > >>>>>> wrote: > >>>>>> > >>>>>> On 2018-09-12 16:50, Rich Freeman wrote: > >>>>>> There is also the case where we want these warnings to block > >>>>>> installation, because the risk of there being a problem is too great. > >>>>> > >>>>> I really disagree with that. So many devs have already said multiple > >>>>> times in this thread that "-Werror" is only turning existing warnings > >>>>> into fatal errors but "-Werror" itself doesn't add any new checks and > >>>>> more often requires "-O3" to be useful. > >>>> The way that compilers work is that the warnings are generated in the > >>>> front end while the optimization level affects the backend. That means > >>>> that -O3 has no effect on the code that does error generation. This > >>>> remark about -O3 being needed to make -Werror useful is just plain wrong. > >>> > >>> Huh? -O3 enables more checks, which can generate more warnings. > >> > >> What checks are those? -O3 affects backend optimization while warnings are > >> generated by the front end. Once the immediate representation is > >> generated, there are no other warnings aside from those from the linker. > > > > https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html > > > > Search for "depend on" > > > > -> [...] estimated based on heuristics that depend on thelevel > > argument and on optimization > > > > -> Because these warnings depend on optimization [...] > > > > Yes, warnings are dependent on optimization level. > > There are three such options. The first two are for format statements: > > > “When the exact number of bytes written by a format directive cannot be > > determined at compile-time it is estimated based on heuristics that depend > > on the level argument and on optimization. While enabling optimization will > > in most cases improve the accuracy of the warning, it may also result in > > false positives. “ > > My read of this is that the warning occurs regardless of optimization level, > but it could somehow be improved by optimization. > > As for the last, it is for uninitialized variable reads. However, I think you > are misinterpreting the claim. The way that optimization level could affect > warning generation would be if the warning generation came after optimization > passes that could hide reads. That means that -O3 would prevent the warning. > > This is a really odd design decision by the GCC developers. With other > compilers, the separation between front end and backend is strong enough that > you will never have this sort of thing. It does not seem necessary to me > either. :/
I'm sorry, but you really don't know what you're talking about. I've already told you once that you were just adding noise to this conversation.