OpenBSD 5.3: Replace use of copyinstr for setting mount point name.
[openafs.git] / README.WARNINGS
index 2861fb4..fa5fb8f 100644 (file)
@@ -6,7 +6,7 @@ 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 
+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
@@ -21,15 +21,26 @@ 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 
+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 
+It would appear that when built with -Werror, the llvm clang compiler will
+still upgrade warnings that are suppresed in this way to errors. In this case,
+the fix is to mark that warning as ignored, but only for clang. For example:
+  #ifdef IGNORE_SOME_GCC_WARNINGS
+  # ifdef __clang__
+  #  pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+  # else
+  #  pragma GCC diagnostic warning "-Wdeprecated-declarations"
+  # endif
+  #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 
+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
@@ -42,15 +53,14 @@ Inhibited warnings
 afs/afs_syscall.c    : old-style
                     : strict-proto
                     : all (ukernel) : syscall pointer issues
-afsd/afsd.c          : all           : call_syscall nonsense
 afsd/afsd_kernel.c   : deprecated    : daemon() marked as deprecated on Darwin
-                    : strict-proto  : 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/tcudbprocs.c    : all          : ubik_Call
+external/heimdal/hcrypto/validate.c: all: statement with empty body
 kauth/admin_tools.c  : all           : signed vs unsigned for dates
 kauth/authclient.c   : strict-proto  : ubik_Call nonsense
 libadmin/kas/afs_kasAdmin.c: all     : Ubik_Call nonsense