This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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