[gst-devel] -Wsign-compare (was: Re: [gst-cvs] ...)

Benjamin Otte in7y118 at public.uni-hamburg.de
Fri May 28 06:14:06 CEST 2004


Quoting Johan Dahlin <johan at fluendo.com>:

> > - removing some trailing commas in enums to please C90 only compilers (AIX,
> Forte, ...)
> > ('should' fix #143290)
> > should/could we compile gst with -ansi -pedantic to catch those in the
> build-bots ?
> 
> -pendantic is not useful, it turns on too many checks, which are
> pedantic. And AFAIK there is no way to turn on some of the options, like
> the trailing comman in enums/structs.
> 
> -ansi might be a good idea if it's not already there.
> What kind of errors will it catch that we're not catching today?
> 
I'm pretty sure we don't want those (though I have no idea what they do 
exactly), but I would like to push -Wsign-compare into core and plugins during 
the 0.9 cycle and fix with it all the API issues wrt to signedness (like 
gst_caps_get_size returning an int).

There's three reasons why I want this:
- http://yarchive.net/comp/ansic_broken_unsigned.html (raise your hand if you 
knew that)
- timestamp comparisons of GstClockTime (uint64) and GstClockTimeDiff (int64) 
esp wrt to GST_CLOCK_TIME_NONE (uint64) and constants (ints) and the implicit 
casting rules as seen in the link above. I've fixed at least three comparison 
bugs in the core because of this.
- general signed/unsigned comparison issues in many formats (like audio) where 
stuff is cast to the wrong type by accident and then doing the wrong stuff with 
it. I've fixed bugs everywhere with this, too.

So this is an announcement that I intend to add this flag (and yes, I intend to 
do the work required to fix all those bugs) pretty early in the 0.9 cycle 
unless there is resistance to it. If there are any objections, please speak 
now :)

Benjamin




More information about the gstreamer-devel mailing list