clang 3.9 add this warning to rightly flag undefined behavior, we relegate this to be just a warning instead of error and keep the behavior as it was. Right fix would be to not pass enum to the function with variadic arguments as last named argument Fixes errors like ocsp.c:2220:22: error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs] va_start(ap, responseType0); ^ ocsp.c:2200:43: note: parameter of type 'SECOidTag' is declared here SECOidTag responseType0, ...) see https://www.securecoding.cert.org/confluence/display/cplusplus/EXP58-CPP.+Pass+an+object+of+the+correct+type+to+va_start for more details Signed-off-by: Khem Raj Upstream-Status: Pending Index: nss-3.37.1/nss/coreconf/Werror.mk =================================================================== --- nss-3.37.1.orig/nss/coreconf/Werror.mk +++ nss-3.37.1/nss/coreconf/Werror.mk @@ -56,7 +56,7 @@ ifndef WARNING_CFLAGS ifdef CC_IS_CLANG # -Qunused-arguments : clang objects to arguments that it doesn't understand # and fixing this would require rearchitecture - WARNING_CFLAGS += -Qunused-arguments + WARNING_CFLAGS += -Qunused-arguments -Wno-error=varargs # -Wno-parentheses-equality : because clang warns about macro expansions WARNING_CFLAGS += $(call disable_warning,parentheses-equality) ifdef BUILD_OPT