mirror of
https://github.com/apache/httpd.git
synced 2025-08-15 23:27:39 +00:00
httpd compiles warning free on gcc and every new warning will be treated as an error, standard c-89 is enforced
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1702948 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -811,7 +811,7 @@ AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
|
||||
AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $1"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([int foo() { return 0; }])],
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||
[ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
])
|
||||
|
24
configure.in
24
configure.in
@ -625,11 +625,12 @@ AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn o
|
||||
APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
|
||||
if test "$GCC" = "yes"; then
|
||||
APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith])
|
||||
APACHE_ADD_GCC_CFLAG([-std=c89])
|
||||
APACHE_ADD_GCC_CFLAG([-Werror])
|
||||
APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
|
||||
APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement])
|
||||
APACHE_ADD_GCC_CFLAG([-Wformat])
|
||||
APACHE_ADD_GCC_CFLAG([-Wformat-security])
|
||||
APACHE_ADD_GCC_CFLAG([-Werror=format-security])
|
||||
APACHE_ADD_GCC_CFLAG([-Wunused])
|
||||
elif test "$AIX_XLC" = "yes"; then
|
||||
APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
|
||||
fi
|
||||
@ -893,6 +894,13 @@ AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([Restore user-defined environment settings...])
|
||||
AC_MSG_NOTICE([])
|
||||
|
||||
APACHE_CONF_SEL_CC=${CC}
|
||||
APACHE_CONF_SEL_CFLAGS=${CFLAGS}
|
||||
APACHE_CONF_SEL_LDFLAGS=${LDFLAGS}
|
||||
APACHE_CONF_SEL_LIBS=${LIBS}
|
||||
APACHE_CONF_SEL_CPPFLAGS=${CPPFLAGS}
|
||||
APACHE_CONF_SEL_CPP=${CPP}
|
||||
|
||||
APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
|
||||
APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
|
||||
APR_RESTORE_THE_ENVIRONMENT(CXXFLAGS, EXTRA_)
|
||||
@ -973,3 +981,15 @@ test -d docs/conf||$mkdir_p docs/conf
|
||||
AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-policy.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf docs/conf/extra/proxy-html.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh,[true],[
|
||||
APACHE_GEN_MAKEFILES
|
||||
])
|
||||
|
||||
AC_MSG_NOTICE([summary of build options:
|
||||
|
||||
Server Version: ${HTTPD_VERSION}
|
||||
Install prefix: ${prefix}
|
||||
C compiler: ${APACHE_CONF_SEL_CC}
|
||||
CFLAGS: ${APACHE_CONF_SEL_CFLAGS}
|
||||
LDFLAGS: ${APACHE_CONF_SEL_LDFLAGS}
|
||||
LIBS: ${APACHE_CONF_SEL_LIBS}
|
||||
CPPFLAGS: ${APACHE_CONF_SEL_CPPFLAGS}
|
||||
C preprocessor: ${APACHE_CONF_SEL_CPP}
|
||||
])
|
||||
|
@ -412,6 +412,23 @@ struct module_struct {
|
||||
void (*register_hooks) (apr_pool_t *p);
|
||||
};
|
||||
|
||||
/**
|
||||
* The AP_MAYBE_USELESS macro is used vor variable declarations that
|
||||
* might potentially exhibit "unused var" warnings on some compilers if
|
||||
* left untreated.
|
||||
* Since static intializers are not part of the C language (C89), making
|
||||
* (void) usage is not possible. However many compiler have proprietary
|
||||
* mechanism to suppress those warnings.
|
||||
*/
|
||||
#ifdef AP_MAYBE_USELESS
|
||||
#elif defined(__GNUC__)
|
||||
# define AP_MAYBE_USELESS(x) x __attribute__((unused))
|
||||
#elif defined(__LCLINT__)
|
||||
# define AP_MAYBE_USELESS(x) /*@unused@*/ x
|
||||
#else
|
||||
# define AP_MAYBE_USELESS(x) x
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The APLOG_USE_MODULE macro is used choose which module a file belongs to.
|
||||
* This is necessary to allow per-module loglevel configuration.
|
||||
@ -427,7 +444,7 @@ struct module_struct {
|
||||
*/
|
||||
#define APLOG_USE_MODULE(foo) \
|
||||
extern module AP_MODULE_DECLARE_DATA foo##_module; \
|
||||
static int * const aplog_module_index = &(foo##_module.module_index)
|
||||
AP_MAYBE_USELESS(static int * const aplog_module_index) = &(foo##_module.module_index)
|
||||
|
||||
/**
|
||||
* AP_DECLARE_MODULE is a convenience macro that combines a call of
|
||||
|
@ -26,7 +26,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_TIMES_H
|
||||
#ifdef APR_HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#include <sys/times.h>
|
||||
#endif
|
||||
|
@ -2184,7 +2184,7 @@ int ssl_callback_alpn_select(SSL *ssl,
|
||||
}
|
||||
|
||||
if (inlen == 0) {
|
||||
// someone tries to trick us?
|
||||
/* someone tries to trick us? */
|
||||
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02837)
|
||||
"ALPN client protocol list empty");
|
||||
return SSL_TLSEXT_ERR_ALERT_FATAL;
|
||||
@ -2194,7 +2194,7 @@ int ssl_callback_alpn_select(SSL *ssl,
|
||||
for (i = 0; i < inlen; /**/) {
|
||||
unsigned int plen = in[i++];
|
||||
if (plen + i > inlen) {
|
||||
// someone tries to trick us?
|
||||
/* someone tries to trick us? */
|
||||
ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02838)
|
||||
"ALPN protocol identifier too long");
|
||||
return SSL_TLSEXT_ERR_ALERT_FATAL;
|
||||
|
@ -98,7 +98,7 @@ static const char *ap_expr_eval_word(ap_expr_eval_ctx_t *ctx,
|
||||
case op_String:
|
||||
result = node->node_arg1;
|
||||
break;
|
||||
case op_Var:
|
||||
|
||||
result = ap_expr_eval_var(ctx, (ap_expr_var_func_t *)node->node_arg1,
|
||||
node->node_arg2);
|
||||
break;
|
||||
@ -1249,7 +1249,7 @@ static const char *filemod_func(ap_expr_eval_ctx_t *ctx, const void *data,
|
||||
apr_finfo_t sb;
|
||||
if (apr_stat(&sb, arg, APR_FINFO_MIN, ctx->p) == APR_SUCCESS
|
||||
&& sb.filetype == APR_REG && sb.mtime > 0)
|
||||
return apr_psprintf(ctx->p, "%" APR_OFF_T_FMT, sb.mtime);
|
||||
return apr_psprintf(ctx->p, "%" APR_OFF_T_FMT, (apr_off_t)sb.mtime);
|
||||
else
|
||||
return "0";
|
||||
}
|
||||
|
Reference in New Issue
Block a user