mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-27 15:52:00 -08:00
I have been using this change for many months in my private copy of Emacs, and have used it to find several bugs. It's mature enough to publish now. * Makefile.in (GNULIB_MODULES): Add warnings, manywarnings. * configure.in: Support --enable-gcc-warnings, in the style of other GNU packages such as coreutils. (C_WARNINGS_SWITCH): Remove, replacing with... (WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable. (PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I, when including system files with GCC. * etc/NEWS: Mention --enable-gcc-warnings. * lib/Makefile.am (AM_CFLAGS): New macro. * m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib. * lib-src/Makefile.in (C_WARNINGS_SWITCH): Remove. (WARN_CFLAGS, WERROR_CFLAGS): New macros. (BASE_CFLAGS): Use new macros rather than old. * lwlib/Makefile.in (C_WARNINGS_SWITCH): Remove. (WARN_CFLAGS, WERROR_CFLAGS): New macros. (ALL_CFLAGS): Use new macros rather than old. * oldXMenu/Makefile.in (C_WARNINGS_SWITCH): Remove. (WARN_CFLAGS, WERROR_CFLAGS): New macros. (ALL_CFLAGS): Use new macros rather than old. * src/Makefile.in (C_WARNINGS_SWITCH): Remove. (WARN_CFLAGS, WERROR_CFLAGS): New macros. (ALL_CFLAGS): Use new macros rather than old. * src/process.c: Ignore -Wstrict-overflow to work around GCC bug 52904. * src/regex.c: Ignore -Wstrict-overflow. If !emacs, also ignore -Wunused-but-set-variable, -Wunused-function, -Wunused-macros, -Wunused-result, -Wunused-variable. This should go away once the Emacs and Gnulib regex code is merged. (xmalloc, xrealloc): Now static.
42 lines
1.6 KiB
Text
42 lines
1.6 KiB
Text
# warnings.m4 serial 6
|
|
dnl Copyright (C) 2008-2012 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
dnl From Simon Josefsson
|
|
|
|
# gl_AS_VAR_APPEND(VAR, VALUE)
|
|
# ----------------------------
|
|
# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
|
|
m4_ifdef([AS_VAR_APPEND],
|
|
[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])],
|
|
[m4_define([gl_AS_VAR_APPEND],
|
|
[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
|
|
|
|
|
|
# gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS])
|
|
# ------------------------------------------------
|
|
# Adds parameter to WARN_CFLAGS if the compiler supports it. For example,
|
|
# gl_WARN_ADD([-Wparentheses]).
|
|
#
|
|
# If VARIABLE is a variable name, AC_SUBST it.
|
|
AC_DEFUN([gl_WARN_ADD],
|
|
dnl FIXME: gl_Warn must be used unquoted until we can assume
|
|
dnl autoconf 2.64 or newer.
|
|
[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_[]_AC_LANG_ABBREV[]_$1])dnl
|
|
AS_VAR_PUSHDEF([gl_Flags], [_AC_LANG_PREFIX[]FLAGS])dnl
|
|
AC_CACHE_CHECK([whether _AC_LANG compiler handles $1], m4_defn([gl_Warn]), [
|
|
gl_save_compiler_FLAGS="$gl_Flags"
|
|
gl_Flags="$gl_Flags $1"
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
|
|
[AS_VAR_SET(gl_Warn, [yes])],
|
|
[AS_VAR_SET(gl_Warn, [no])])
|
|
gl_Flags="$gl_save_compiler_FLAGS"
|
|
])
|
|
AS_VAR_IF(gl_Warn, [yes],
|
|
[gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])])
|
|
AS_VAR_POPDEF([gl_Flags])dnl
|
|
AS_VAR_POPDEF([gl_Warn])dnl
|
|
m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
|
|
])
|