[clang] [Clang] Update missing varargs arg extension warnings (PR #84520)

Shafik Yaghmour via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 8 17:07:22 PST 2024


================
@@ -993,11 +993,18 @@ MacroArgs *Preprocessor::ReadMacroCallArgumentList(Token &MacroName,
       // If the macro contains the comma pasting extension, the diagnostic
       // is suppressed; we know we'll get another diagnostic later.
       if (!MI->hasCommaPasting()) {
-        // C++20 allows this construct, but standards before C++20 and all C
-        // standards do not allow the construct (we allow it as an extension).
-        Diag(Tok, getLangOpts().CPlusPlus20
-                      ? diag::warn_cxx17_compat_missing_varargs_arg
-                      : diag::ext_missing_varargs_arg);
+        // C++20 and C23 allow this construct, but standards before that
+        // do not (we allow it as an extension).
----------------
shafik wrote:

CC @AaronBallman should we add a standard quote like we normally do for C++? It looks like it should be 6.10.5 p12. It took me a but to remember in C they are referred to as *variable arguments* and not variadic like in C++. 

https://github.com/llvm/llvm-project/pull/84520


More information about the cfe-commits mailing list