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.

Reply via email to