diff --git a/auto/cc/conf b/auto/cc/conf index 09ab9d32e..bdcce2c01 100644 --- a/auto/cc/conf +++ b/auto/cc/conf @@ -143,19 +143,6 @@ if [ "$NGX_PLATFORM" != win32 ]; then . auto/feature - ngx_feature="gcc variadic macros" - ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" - ngx_feature_run=yes - ngx_feature_incs="#include -#define var(dummy, args...) sprintf(args)" - ngx_feature_path= - ngx_feature_libs= - ngx_feature_test="char buf[30]; buf[0] = '0'; - var(0, buf, \"%d\", 1); - if (buf[0] != '1') return 1" - . auto/feature - - if [ "$NGX_CC_NAME" = "ccc" ]; then echo "checking for C99 variadic macros ... disabled" else @@ -173,6 +160,19 @@ if [ "$NGX_PLATFORM" != win32 ]; then fi + ngx_feature="gcc variadic macros" + ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS" + ngx_feature_run=yes + ngx_feature_incs="#include +#define var(dummy, args...) sprintf(args)" + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test="char buf[30]; buf[0] = '0'; + var(0, buf, \"%d\", 1); + if (buf[0] != '1') return 1" + . auto/feature + + # ngx_feature="inline" # ngx_feature_name= # ngx_feature_run=no diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h index b736aa2eb..1054836f1 100644 --- a/src/core/ngx_log.h +++ b/src/core/ngx_log.h @@ -68,23 +68,7 @@ struct ngx_log_s { /*********************************/ -#if (NGX_HAVE_GCC_VARIADIC_MACROS) - -#define NGX_HAVE_VARIADIC_MACROS 1 - -#define ngx_log_error(level, log, args...) \ - if ((log)->log_level >= level) ngx_log_error_core(level, log, args) - -void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, - const char *fmt, ...); - -#define ngx_log_debug(level, log, args...) \ - if ((log)->log_level & level) \ - ngx_log_error_core(NGX_LOG_DEBUG, log, args) - -/*********************************/ - -#elif (NGX_HAVE_C99_VARIADIC_MACROS) +#if (NGX_HAVE_C99_VARIADIC_MACROS) #define NGX_HAVE_VARIADIC_MACROS 1 @@ -100,6 +84,22 @@ void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, /*********************************/ +#elif (NGX_HAVE_GCC_VARIADIC_MACROS) + +#define NGX_HAVE_VARIADIC_MACROS 1 + +#define ngx_log_error(level, log, args...) \ + if ((log)->log_level >= level) ngx_log_error_core(level, log, args) + +void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, + const char *fmt, ...); + +#define ngx_log_debug(level, log, args...) \ + if ((log)->log_level & level) \ + ngx_log_error_core(NGX_LOG_DEBUG, log, args) + +/*********************************/ + #else /* NO VARIADIC MACROS */ #define NGX_HAVE_VARIADIC_MACROS 0