mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 07:20:11 +00:00
19f0da1e44
Various warning fixes related mostly to the different types used to handle keys. This should clear most of the remaining warnings in this area. The technique of inline converter helpers is extended to cover a few more cases. README.WARNINGS is adjusted to reflect the current status. Fixes: - bos: define and use an inline converter from a ktc key to a bozo key - bos.c and bos_utils.c should no longer have warnings - adjust Makefile - define a ktc key to char * converter and use it in a few places - define kas key to bozo key ptr converter and use it in a few places (afs_bosAdmin) - cast a few arguments to ka_StringToKey which expects non-const pointers Change-Id: I1c19869ac232d78209126d4eeeb11af8bcb95815 Reviewed-on: http://gerrit.openafs.org/860 Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk> Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
74 lines
3.4 KiB
Plaintext
74 lines
3.4 KiB
Plaintext
OpenAFS Warning detection
|
|
-------------------------
|
|
|
|
There's been a concerted effort over the last few years, by many developers,
|
|
to reduce the number of warnings in the OpenAFS tree. In an attempt to
|
|
prevent warnings from creeping back in, we now have the ability to break the
|
|
build when new warnings appear.
|
|
|
|
This is only available for systems with gcc 4.2 or later, and is disabled
|
|
unless the --enable-checking option is supplied to configure. Because we
|
|
can't remove all of the warnings, we permit file by file (and warning by
|
|
warning) disabling of specific warnings. The --enable-checking=all prevents
|
|
this, and errors for any file containing a warning.
|
|
|
|
Disabling warnings
|
|
------------------
|
|
|
|
If warnings are unavoidable in a particular part of the build, they may be
|
|
disabled in an number of ways.
|
|
|
|
You can disable a single warning type in a particular file by using GCC
|
|
pragmas. If a warning can be disabled with a pragma, then the switch to use
|
|
will be listed in the error message you receive from the compiler. Pragmas
|
|
should be wrapped in IGNORE_SOME_GCC_WARNINGS, so that they aren't used
|
|
with non-gcc compilers, and can be disabled if desired. For example:
|
|
#ifdef IGNORE_SOME_GCC_WARNINGS
|
|
# pragma GCC diagnostic warning "-Wold-style-definition"
|
|
#endif
|
|
|
|
If a pragma isn't available for your particular warning, you will need to
|
|
disable all warnings for the file in question. You can do this by supplying
|
|
the autoconf macro @CFLAGS_NOERROR@ in the build options for the file. For
|
|
example:
|
|
lex.yy.o : lex.yy.c y.tab.c
|
|
${CC} -c ${CFLAGS} @CFLAGS_NOERROR@ lex.yy.c
|
|
|
|
If you add a new warning inhibition, please also add it to the list below.
|
|
|
|
Inhibited warnings
|
|
------------------
|
|
|
|
afs/afs_syscall.c : old-style
|
|
: strict-proto
|
|
: all (ukernel) : syscall pointer issues
|
|
afsd/afsd.c : deprecated : daemon() marked as deprecated on Darwin
|
|
: all : call_syscall missing prototype
|
|
auth/ktc.c : all (ukernel) : call_syscall doesn't have a prototype
|
|
bozo/bosserver.c : deprecated : daemon() marked as deprecated on Darwin
|
|
bucoord/ubik_db_if.c : strict-proto : Ubik_Call
|
|
bucoord/commands.c : all : Ubik_Call
|
|
: signed vs unsigned for dates
|
|
butc/tcmain.c : all : prototypes
|
|
butc/tcudbprocs.c : all : ubik_Call
|
|
kauth/admin_tools.c : all : ubik_Call nonsense
|
|
kauth/authclient.c : strict-proto : ubik_Call nonsense
|
|
libadmin/bos/afs_bosAdmin.c: all : time types, and const
|
|
libadmin/kas/afs_kasAdmin.c: all : Ubik_Call nonsense
|
|
libadmin/samples/rxstat_query_peer.c : all : util_RPCStatsStateGet types
|
|
libadmin/samples/rxstat_query_process.c : all : util_RPCStatsStateGet types
|
|
libadmin/test/client.c : all : util_RPCStatsStateGet types
|
|
rx/rx.c : all (pthread) : rxkad_global_stats_init not proto'd
|
|
rx/xdr_rx.c : all (ukernel) : Prototypes don't match due to AFS_XDR_T
|
|
not being used in the xdr header
|
|
ubik/beacon.c : all : Ubik uses signed/unsigned
|
|
interchangably for IP addresses, a
|
|
fix will require API changes.
|
|
ubik/ubikclient.c : strict-protos : ubik_Call
|
|
uss/uss_vol.c : all Format issues
|
|
uss/uss_kauth.c : all : ubik_Call
|
|
viced/fsprobe.c : all : ubik_Call
|
|
vol/salvager.c : all : consts & undefined variable from header - maybe fixed!
|
|
volser/vol-dump.c : format : afs_sfsize_t
|
|
|