This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [tree-ssa] Enable warnings for libbanshee


Daniel Berlin <dberlin@dberlin.org> writes:

> On Feb 29, 2004, at 4:34 AM, Andreas Jaeger wrote:
>
>>
>> Looking closer at the warnings, we should use IMO (As we do in GCC and
>> not as we do in libiberty):
>>   ac_libbanshee_warn_cflags='-W -Wall -pedantic -Wwrite-strings
>> -Wstrict-prototypes -Wmissing-prototypes
>>
>> With that change we get the appended list of warnings currently.
>
> 80% of these are from macros or are worthless.
> Only about 10% of them are valid.  And of those, all but about 1-2% of
> them occur in optional functionality we don't use (and won't ever use).
> Fixing all of them will require significant local changes to
> libbanshee, making merges incredibly hard.

We could send the patches upstream (first), to make merging easier.

> Banshee itself isn't compiled with these flags, so why should we add
> them?

Some of the warnings might be critical - e.g. using calloc without a
prototype will definitly cause harm on a 64-bit OS (ok, that's fixed).

> If you want, I can happily fix the integer signedness warnings and
> pointer->int casts.
> Do you really want prototypes for every single function?

If they are invoked: Yes.

> Do we really care if it uses variadic macros?

No, not at all.

> I'm much more inclined to just require turning off libbanshee if the
> host compiler doesn't support these things (There has been 1 person
> who has tried to compile libbanshee with a compiler that isn't gcc,
> AFAIK)

I'm more concerned with the following warnings which are basically:
- type-punning warnings
- casts
- returns in a void function
- initilizations where const is removed


/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/stamp.c:90: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/stamp.c:93: warning: cast to pointer from integer of different size
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/util.c:177: warning: cast from pointer to integer of different size
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:570: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:584: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:589: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1074: warning: initialization discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1075: warning: initialization discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1076: warning: initialization discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1077: warning: initialization discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1078: warning: initialization discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-sort.c:1080: warning: passing arg 2 of `dot_start' discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-var.c:53: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-var.c:55: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setif-var.c:88: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flow-var.c:54: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flow-var.c:55: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flowrow-sort.c:733: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flowrow-sort.c:738: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flowrow-sort.c:743: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flowrow-sort.c:748: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/flowrow-sort.c:1106: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setst-var.c:57: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setst-var.c:59: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setst-var.c:87: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/jcollection.c:88: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/banshee.c:39: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setst-sort.c:226: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/setst-sort.c:231: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/term-var.c:39: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/term-var.c:41: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/term-sort.c:90: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/term-sort.c:95: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:53: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:56: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:59: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:62: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:65: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:68: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:71: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:74: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:77: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:80: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:83: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:86: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:108: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:111: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:114: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:117: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:120: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:123: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:126: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:129: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:132: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:135: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:138: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:141: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:144: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:166: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:169: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:172: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:175: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:178: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:181: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:184: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:187: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:190: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:193: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:196: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:199: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:202: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:205: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:208: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:211: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:214: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:217: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:220: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:223: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:226: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:229: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:253: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:254: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:258: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:259: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:263: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:265: warning: assignment discards qualifiers from pointer target type
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:320: warning: dereferencing type-punned pointer will break strict-aliasing rules
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/engine/dot.c:327: warning: cast to pointer from integer of different size
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/points-to/andersen_terms.c:325: warning: `return' with a value, in function returning void
/cvs/gcc-tree-ssa-20020619-branch/libbanshee/points-to/andersen_terms.c:420: warning: `return' with a value, in function returning void

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


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