This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Projects for beginners


On Wed, Jan 31, 2001 at 08:42:35AM -0500, Kaveh R. Ghazi wrote:
>  > Set up more autobuilders.
> 
> Are the scripts used in the current autobuilder available?

They should be; ask Geoff Keating.  They probably need cleaning up to
be generally useful.

>  > Then fix it so every global declaration occurs in exactly one header.
> 
> I think -Wredundant-decls helps here.  But it only catches cases where
> both headers containing the duplicates are included in one C module.
> If a decl is dupped in two headers not included in the same file, it
> doesn't help.  Good place to start though.

Wanna throw -Wredundant-decls into WARN_CFLAGS and do a build? My tree
has function.c in pieces on the floor right now.

Unfortunately, all the genuine bugs in this area will be where a decl
is dupped in two headers, it's different in each, but no file ever
includes both, so we never notice.

I've been tempted to add C++'s name mangler to the C compiler just to
get link-time type checking.  (Too bad it doesn't discriminate return
types.)

>  > Find places that are still using obsolete system-category macros (USG,
>  > BSTRING, etc) and autoconfiscate them.
> 
> USG is still used in tsystem.h (legitimately IMHO since you can't
> autoconfiscate target files.)  BSTRING et al. could go though.

BSTRING is gone; I was out of date.

tsystem.h uses USG and a couple others to know if it can safely
include string.h and time.h.  As both of them are required by C99, we
oughta just synthesize them and include them unconditionally.
(fixproto already does this for stdlib.h and several others.)

The real mess is in the debug info generators.

zw

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]