]> granicus.if.org Git - apache/commitdiff
httpd compiles warning free on gcc and every new warning will be treated as an error...
authorStefan Eissing <icing@apache.org>
Mon, 14 Sep 2015 13:29:35 +0000 (13:29 +0000)
committerStefan Eissing <icing@apache.org>
Mon, 14 Sep 2015 13:29:35 +0000 (13:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1702948 13f79535-47bb-0310-9956-ffa450edef68

acinclude.m4
configure.in
include/http_config.h
include/scoreboard.h
modules/ssl/ssl_engine_kernel.c
server/util_expr_eval.c

index f8c07aacfaa487d7f9436d859562b03a35444656..f4d34e044c140e5a21c22c0147c16a9767cb4bdc 100644 (file)
@@ -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"
     ])
index 12dcc09e8caa8878ec9dfcbb88c4dd0051e56653..a75f692e1bee99d3f7a6941453d266a004aa6fe8 100644 (file)
@@ -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}
+])
index ad5ba2f9dafdf4e8ab1af817d37cf8fac759f8d0..96d012fa4ea12ab16b9f582b92dc6728a136722c 100644 (file)
@@ -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
index c07b28cb8994cec461a9d8b2ee15c572ad8d6db6..bc820b5400b769c1a41429d74d77bb1cd68c54ed 100644 (file)
@@ -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
index 1875dc9bd0b2e346e10829797ba8eb8a98f28776..ebd9bdfdc6117bbd10a4ae9220ef25b2d52a07cb 100644 (file)
@@ -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;
index b37319e9b9aa4c0cdd2cbd44e9b641abebab574d..2d10ab5c68e35641b13b89a7d8629175b7939aeb 100644 (file)
@@ -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";
 }