glibc/manual
Joseph Myers a4ecc9eb9b Use -Werror by default, add --disable-werror.
As discussed starting at
<https://sourceware.org/ml/libc-alpha/2014-11/msg00323.html>, this
patch makes the glibc build use -Werror by default to avoid
accidentally adding new warnings to the build.  The configure option
--disable-werror can be used to disable this.

-Wno-error=undef is temporarily used because the build isn't clean
regarding -Wundef warnings.  The idea is that once the remaining
-Wundef warnings have been cleaned up (in at least one configuration),
-Wno-error=undef will be removed.

I get a clean build and test on x86_64 (GCC 4.9 branch) with this
patch.  The expectation is that this may well break the build for some
other configurations, and people seeing such breakage should make
appropriate fixes to fix or suppress the warnings for their
configurations.  In some cases that may involve using pragmas as the
right fix (I think that will be right for the -Wno-inline issue for
MIPS I referred to in
<https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, for
example), in some cases -Wno-error in sysdeps makefiles (__restore_rt
in MIPS sigaction, for example), in some cases substantive fixes for
the warnings.

Note that if, with a view to listing all the warnings then fixing them
all, you just look for "warning:" in output from building and testing
with --disable-werror, you'll see lots of warnings from the linker
about functions such as tmpnam.  Those warnings can be ignored - only
compiler warnings are relevant to -Werror, not linker warnings.

	* configure.ac (--disable-werror): New configure option.
	(enable_werror): New AC_SUBST.
	* configure: Regenerated.
	* config.make.in (enable-werror): New variable.
	* Makeconfig [$(enable-werror) = yes] (+gccwarn): Add -Werror
	-Wno-error=undef.
	(+gccwarn-c): Do not use -Werror=implicit-function-declaration.
	* manual/install.texi (Configuring and compiling): Document
	--disable-werror.
	* INSTALL: Regenerated.
	* debug/Makefile (CFLAGS-tst-chk1.c): Add -Wno-error.
	(CFLAGS-tst-chk2.c): Likewise.
	(CFLAGS-tst-chk3.c): Likewise.
	(CFLAGS-tst-chk4.cc): Likewise.
	(CFLAGS-tst-chk5.cc): Likewise.
	(CFLAGS-tst-chk6.cc): Likewise.
	(CFLAGS-tst-lfschk1.c): Likewise.
	(CFLAGS-tst-lfschk2.c): Likewise.
	(CFLAGS-tst-lfschk3.c): Likewise.
	(CFLAGS-tst-lfschk4.cc): Likewise.
	(CFLAGS-tst-lfschk5.cc): Likewise.
	(CFLAGS-tst-lfschk6.cc): Likewise.
2014-12-10 01:14:48 +00:00
..
examples fcntl-linux.h: add new definitions and manual updates for open file description locks 2014-07-29 23:27:21 -04:00
argp.texi * manual/argp.texi: Document MTASC-safety properties. 2014-01-29 05:24:32 -02:00
arith.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
charset.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
check-safety.sh Require check-safety.sh to pass; wish for check that all fns are documented 2014-11-21 02:06:19 -02:00
conf.texi * manual/conf.texi: Document MTASC-safety properties. 2014-01-29 05:26:47 -02:00
contrib.texi Update contrib.texi 2014-09-07 16:07:10 +10:00
creature.texi Remove _BSD_SOURCE and _SVID_SOURCE. 2014-02-11 23:40:07 +00:00
crypt.texi * manual/crypt.texi: Document MTASC-safety properties. 2014-01-29 05:27:54 -02:00
ctype.texi * manual/ctype.texi: Document MTASC-safety properties. 2014-01-31 23:14:14 -02:00
debug.texi * manual/debug.texi: Document MTASC-safety properties. 2014-01-30 18:50:57 -02:00
dir .. 2005-11-21 15:45:19 +00:00
errno.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
fdl-1.3.texi BZ#13738: Switch manual to FDL 1.3. 2012-02-24 12:58:10 -08:00
filesys.texi manual: Update prototypes for alphasort and friends 2014-05-23 11:26:06 +02:00
freemanuals.texi Update to canonical freemanuals.texi file. 2013-09-24 14:06:56 -07:00
getopt.texi * manual/getopt.texi: Document MTASC-safety properties. 2014-01-31 23:16:56 -02:00
header.texi Use Texinfo macros to refer to the GNU C Library within the manual. 2012-02-28 14:44:20 +00:00
install-plain.texi BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.x 2013-12-05 09:58:20 +05:30
install.texi Use -Werror by default, add --disable-werror. 2014-12-10 01:14:48 +00:00
intro.texi manual: Sort overview listing by manual order. 2014-04-17 19:41:09 -04:00
io.texi Clean up glibc manual references to "GNU system" (bug 6911). 2012-03-08 01:27:38 +00:00
ipc.texi manual/ipc.texi: Fix AC-safety notes. 2014-04-08 17:12:15 -04:00
job.texi ctermid: return string literal, document MT-Safety pitfall 2014-11-21 02:16:02 -02:00
lang.texi * manual/lang.texi: Document MTASC-safety properties. 2014-01-31 23:21:48 -02:00
lgpl-2.1.texi Use canonical FSF .texi files for LGPL and FDL texts. 2011-06-06 16:16:55 -07:00
libc-texinfo.sh Add @detailmenu to subsection node listing 2013-02-24 21:05:58 +10:00
libc.texinfo Update remaining copyright dates 2014-01-01 22:02:55 +10:00
libcbook.texi initial import 1995-02-18 01:27:10 +00:00
libdl.texi * manual/libdl.texi: New. 2014-01-31 23:23:59 -02:00
libm-err-tab.pl Don't include individual test ulps in libm-test-ulps. 2014-03-05 15:02:38 +00:00
llio.texi manual/llio.texi: Comment on write atomicity. 2014-11-06 15:58:52 -05:00
locale.texi manual: Update the locale documentation 2014-07-10 16:30:40 +02:00
macros.texi * manual/macros.texi: Add comments before MTASC-safety macros. 2014-02-03 17:26:08 -02:00
maint.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
Makefile Require check-safety.sh to pass; wish for check that all fns are documented 2014-11-21 02:06:19 -02:00
math.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
memory.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
message.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
nss.texi manual: Remove frobnicate @pxref. 2013-02-20 13:30:23 -05:00
nsswitch.texi update from main archive 960814 1996-08-15 01:23:29 +00:00
pattern.texi * manual/pattern.texi: Document MTASC-safety properties. 2014-01-31 23:36:46 -02:00
pipe.texi * manual/pipe.texi: Document MTASC-safety properties. 2014-01-31 23:37:28 -02:00
platform.texi * manual/platform.texi: Document MTASC-safety properties. 2014-01-31 23:40:29 -02:00
probes.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
process.texi Add a new "Inter-Process Communication" chapter. 2014-02-26 11:05:09 -05:00
resource.texi Fix typo in manual. 2014-06-05 01:13:04 +02:00
search.texi * manual/search.texi: Document MTASC-safety properties. 2014-01-31 23:47:28 -02:00
setjmp.texi manual/setjmp.texi: Clarify setcontext and signal handlers text 2014-04-17 11:40:36 +01:00
signal.texi Fix crossreference to nonexistent node BSD Handler 2014-11-18 11:19:20 +01:00
socket.texi Fix two spaces after sentence. 2014-02-26 23:27:38 +01:00
startup.texi Remove _BSD_SOURCE and _SVID_SOURCE. 2014-02-11 23:40:07 +00:00
stdio-fp.c update from main archive 970225 1997-02-25 05:18:05 +00:00
stdio.texi Fix types of stream hook functions in manual. 2014-04-28 18:54:24 +02:00
string.texi Fix qsort argument order in collation example 2014-04-12 14:26:29 +10:00
summary.awk Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sysinfo.texi manual: fix addmntent's MT-Safety race annotation 2014-11-21 02:45:02 -02:00
syslog.texi * manual/syslog.texi: Document MTASC-safety properties. 2014-02-01 01:22:09 -02:00
terminal.texi * manual/terminal.texi: Document MTASC-safety properties. 2014-02-01 03:53:15 -02:00
texinfo.tex Update miscellaneous files from upstream sources. 2014-06-26 20:13:44 +00:00
texis.awk Correct close statement. 2001-05-18 13:01:32 +00:00
threads.texi Add header and standard information to threads.texi. 2014-02-28 18:30:22 -05:00
time.texi manual: time: fix typo in IST example 2014-03-13 18:31:09 -04:00
tsort.awk Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
users.texi manual: cuserid is mtasurace if not passed a string 2014-11-21 02:15:09 -02:00
xtract-typefun.awk * manual/xtract-typefun.awk: Swallow [(){}*] from function names. 2003-11-12 00:50:03 +00:00