This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Improve bootstrap times
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: Richard Biener <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 1 Jun 2018 15:53:47 +0200
- Subject: Re: [PATCH] Improve bootstrap times
- References: <alpine.LSU.2.20.1804251507140.31014@zhemvz.fhfr.qr> <alpine.LSU.2.20.1804251529060.31014@zhemvz.fhfr.qr> <20180425140527.GH8577@tucnak> <alpine.LSU.2.20.1804251611120.31014@zhemvz.fhfr.qr> <1BB5D183-DFF0-49ED-8CDD-1497438458EA@gmail.com> <alpine.LSU.2.20.1804260920440.24704@zhemvz.fhfr.qr> <alpine.LSU.2.20.1804261001460.24704@zhemvz.fhfr.qr> <87lgbyaagl.fsf@euler.schwinge.homeip.net>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Jun 01, 2018 at 03:43:38PM +0200, Thomas Schwinge wrote:
> > +STAGE1_TFLAGS += -fno-checking
> > +STAGE2_CFLAGS += -fno-checking
> > +STAGE2_TFLAGS += -fno-checking
> > +STAGE3_CFLAGS += -fchecking
> > +STAGE3_TFLAGS += -fchecking
>
> This however means that when a user configured with "extra" checking
> enabled (for example, "--enable-checking=yes,extra", meaning a default of
> "-fchecking=2"), stage 3 now is not actually build anymore with "extra"
> checking enabled (configured default, or explicit "-fchecking=2"), but
> instead only with "normal checking" ("-fchecking" being equivalent to
> "-fchecking=1", as the above was changed to in the trunk r259755 change).
> That's probably to be considered surprising, unexpected.
>
> Given that, as documented, "extra" checking may affect code generation,
> we have three options: a) disable "extra" checking here (status quo), or
> b) disable the "-fno-checking optimization" if "extra" checking has been
> requested, or c) rework "extra" checking to not affect code generation.
> c) would seem best, but probably there's a reason for its current
> behavior, given that it has only recently been introduced.
c) would essentially mean getting rid of the "extra" mode, because checking
that doesn't affect code generation is the normal checking.
The a) case is what we've decided to do, it disables the extra checking during
bootstrap, sure, but it doesn't disable it for the target libraries that
aren't bootstrapped, nor make check, nor anything else you compile with the
compiler.
Jakub