From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kaveh R. Ghazi" To: egcs@cygnus.com Subject: Re: egcs, -W -Wall on by default during bootstrap (?) Date: Wed, 11 Feb 1998 11:23:00 -0000 Message-id: <199802111651.LAA17129@caip.rutgers.edu> X-SW-Source: 1998-02/msg00501.html > From: "Kaveh R. Ghazi" > Date: Wed, 4 Feb 1998 16:19:28 -0500 (EST) > Subject: egcs, -W -Wall on by default during bootstrap (?) > > I've spent some time eliminating many of the warnings in egcs > which appear when bootstrapping with "-W -Wall". I got it down from > around 7800 to about 2800, having first done the ones which produced the > most bang for the buck. > > The remaining ones are going slower because they approach a one > to one ratio between individual fixes and number of warnings eliminated. > So I'd like to start dividing up the task and encouraging others to help > out. > > Towards this end I'm going to submit patches to Jeff to make "-W > -Wall" part of the default CFLAGS during stages >= 2, as is already done > for g77. > > Are there any strong objections? > > --Kaveh Well, its been a week and no one has raised any objections, in fact I've only gotten replies from people who want to help out. :-) So I'd like to turn on -W -Wall by default. Below is a patch. --Kaveh Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi * Makefile.in (WARN_CFLAGS): New variable. (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it. diff -r -u orig/egcs-980205/gcc/Makefile.in egcs-980205/gcc/Makefile.in --- orig/egcs-980205/gcc/Makefile.in Fri Jan 23 10:42:58 1998 +++ egcs-980205/gcc/Makefile.in Tue Feb 10 14:26:07 1998 @@ -53,6 +53,10 @@ # CFLAGS is for the user to override to, e.g., do a bootstrap with -O2. # BOOT_CFLAGS is the value of CFLAGS to pass # to the stage2 and stage3 compilations +# WARN_CFLAGS are the warning flags to pass to stage2 and stage3. It is +# separate from BOOT_CFLAGS because people tend to override optimization +# flags and we'd like them to still have warnings turned on. They are free +# to explicitly turn warnings off if they wish. # XCFLAGS is used for most compilations but not when using the GCC just built. # TCFLAGS is used for compilations with the GCC just built. XCFLAGS = @@ -59,6 +63,7 @@ TCFLAGS = CFLAGS = -g BOOT_CFLAGS = -O2 $(CFLAGS) +WARN_CFLAGS = -W -Wall # These exists to be overridden by the x-* and t-* files, respectively. X_CFLAGS = T_CFLAGS = @@ -2595,21 +2602,21 @@ # To prevent `make install' from compiling alloca.o and then relinking cc1 # because alloca.o is newer, we permit these recursive makes to compile # alloca.o. Then cc1 is newer, so it won't have to be relinked. - $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)" $(MAKE) stage2 -if test $@ = bootstrap-lean; then rm -rf stage1; else true; fi - $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" bootstrap2: force - $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)" $(MAKE) stage2 - $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" bootstrap3: force - $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)" bootstrap4: force - $(MAKE) CC="stage3/xgcc -Bstage3/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage3/ LANGUAGES="$(LANGUAGES)" + $(MAKE) CC="stage3/xgcc -Bstage3/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage3/ LANGUAGES="$(LANGUAGES)" # Compare the object files in the current directory with those in the # stage2 directory. -- Kaveh R. Ghazi Project Manager / Custom Development ghazi@caip.rutgers.edu ICon CMT Corp.