From 76c53794b6202ec37f6dcace5f2ae86870e953b6 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Tue, 26 Apr 2016 11:05:26 -0700 Subject: Fix Wvarargs warning in XFA error code. Chrome has enabled the -Wvarargs warning that was added to clang, this fails with PDFium XFA builds due to two warnings: ../../xfa/fxfa/fm2js/xfa_lexer.cpp:539:16: error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs] va_start(ap, msg); ^ ../../xfa/fxfa/fm2js/xfa_lexer.cpp:535:40: note: parameter of type 'XFA_FM_ERRMSG' is declared here void CXFA_FMLexer::Error(XFA_FM_ERRMSG msg, ...) { The issue is that XFA_FM_ERRMSG is an enum and we violate the promotion rules for passing the value to va_start. I removed the enum and named the flags explicitly then pass in the string as the argument. BUG=chromium:606726 Review URL: https://codereview.chromium.org/1921323002 --- xfa/fxfa/fm2js/xfa_lexer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'xfa/fxfa/fm2js/xfa_lexer.h') diff --git a/xfa/fxfa/fm2js/xfa_lexer.h b/xfa/fxfa/fm2js/xfa_lexer.h index fd89dc72eb..c21c00255a 100644 --- a/xfa/fxfa/fm2js/xfa_lexer.h +++ b/xfa/fxfa/fm2js/xfa_lexer.h @@ -119,7 +119,7 @@ class CXFA_FMLexer { } const FX_WCHAR* SavePos() { return m_ptr; } void RestorePos(const FX_WCHAR* pPos) { m_ptr = pPos; } - void Error(XFA_FM_ERRMSG msg, ...); + void Error(const FX_WCHAR* msg, ...); FX_BOOL HasError() const; protected: -- cgit v1.2.3