Add --enable-dev-mode=strict to configure.

Passing -Wshadow to gcc enables shadow warnings.  From the gcc manual:

    Warn whenever a local variable or type declaration shadows another
    variable, parameter, type, or class member (in C++), or whenever a
    built-in function is shadowed.

Asterisk will not currently compile with this option set, but a number of bugs
have been discovered by enabling this flag on specific files.  The long-term
goal is to eliminate all of the suspect code that causes this warning to be
emitted.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Sean Bright 2012-03-08 16:21:49 +00:00
parent ced8b052e1
commit 2969b00468
4 changed files with 5148 additions and 32279 deletions

View File

@ -72,6 +72,7 @@ export NOISY_BUILD # Used in Makefile.rules
export MENUSELECT_CFLAGS # Options selected in menuselect.
export AST_DEVMODE # Set to "yes" for additional compiler
# and runtime checks
export AST_DEVMODE_STRICT # Enables shadow warnings (-Wshadow)
export _SOLINK # linker flags for all shared objects
export SOLINK # linker flags for loadable modules
@ -224,6 +225,9 @@ ifeq ($(AST_DEVMODE),yes)
_ASTCFLAGS+=-Wundef
_ASTCFLAGS+=-Wmissing-format-attribute
_ASTCFLAGS+=-Wformat=2
ifeq ($(AST_DEVMODE_STRICT),yes)
_ASTCFLAGS+=-Wshadow
endif
ADDL_TARGETS+=validate-docs
endif

37417
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -343,10 +343,15 @@ AC_ARG_ENABLE([dev-mode],
AST_DEVMODE=yes
NOISY_BUILD=yes
;;
strict)
AST_DEVMODE=yes
AST_DEVMODE_STRICT=yes
;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-dev-mode) ;;
esac])
AC_SUBST(NOISY_BUILD)
AC_SUBST(AST_DEVMODE)
AC_SUBST(AST_DEVMODE_STRICT)
AST_CODE_COVERAGE=no
AC_ARG_ENABLE([coverage],

View File

@ -94,6 +94,7 @@ ASTLOGDIR = @astlogdir@
ASTVARRUNDIR = @astvarrundir@
AST_DEVMODE=@AST_DEVMODE@
AST_DEVMODE_STRICT=@AST_DEVMODE_STRICT@
NOISY_BUILD=@NOISY_BUILD@
AST_CODE_COVERAGE=@AST_CODE_COVERAGE@