openafs/README.WARNINGS
Marc Dionne d616d1ee99 krb_udp.c warning fix
This file generates a warning because the left side of a variable
assignment is commented out.  Keep the effect of the line
(incrementing packet) but remove the unused casting and
reference, and remove the comments that date from the original
IBM source.
Leave a new comment in place in case the information is useful.

Adjust the Makefile and README.WARNINGS to account for the change.

Change-Id: I944e1c488e39411d32d700cba2d3ef567eddddb4
Reviewed-on: http://gerrit.openafs.org/804
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2009-11-11 07:30:29 -08:00

90 lines
4.3 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
bozo/bosoprocs.c : all : ExtendedCellInfo and des key types
bozo/bos.c : all : DES key types & string consts
bozo/bos_util.c : all : DES key types
bucoord/ubik_db_if.c : strict-proto : Ubik_Call
bucoord/commands.c : all : Ubik_Call
: signed vs unsigned for dates
budb/server.c : all : ExtendedCellInfo
butc/tcmain.c : all : prototypes / signed warnings (XXX)
butc/recoverDb.c : all : pointer target issues (XXX)
butc/tcudbprocs.c : all : ubik_Call
butc/dump.c : all : pointer types (XXX)
comerr/error_table.c : all : Autogenerated file with unused labels
kauth/kaserver.c : all : ExtendedCellInfo
kauth/admin_tools.c : all : ubik_Call nonsense
kauth/authclient.c : strict-proto : ubik_Call nonsense
: all : ubik_Call nonsense
libadmin/bos/afs_bosAdmin.c: all : DES keys, time types, and const
libadmin/kas/afs_kasAdmin.c: all : Ubik_Call nonsense, DES keys
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
ptserver/ptserver.c : all : ExtendedCellInfo
rxkad/rxkad_server.c : all : Des key nonsense
rxkad/ticket5.c : all : CRC functions
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/utst_int_ss.c : all : Client / Server symbol collisions
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 : Des keys, ubik_Call
uss/lex.yy.c : all : Unused symbols
viced/fsprobe.c : all : ubik_Call
vlserver/vlserver.c : all : GetExtendedCellInfo
vol/salvager.c : all : consts & undefined variable from header
volser/vos.c : all : ubik_Call_New
volser/vol-dump.c : format : afs_sfsize_t