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



On Feb 29, 2004, at 9:37 AM, Andreas Jaeger wrote:


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.



I'm actually a maintainer upstream as of today now (should have checked my email first), so i can commit them actually.
That's why i just said i'd fix them all.


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.

Most aren't, it just doesn't know that :) Or it's static functions not declared static.


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

These are going to be pretty hard to get rid of. It's easier to compile with -fno-strict-aliasing than it would be to actually fix these. This is what we used to do, but someone tried to bootstrap with cc on Irix.
I'll see about fixing them.




- casts
- returns in a void function
These are coming from some part of the list macro that is stupidly defined.


- initilizations where const is removed

You can completely disable dot.c's code if you want, we don't use it (it's for printing inclusion constraint graphs).




/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


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