Fix a diagnoses-valid in C++20 with variadic macros
authorAaron Ballman <aaron@aaronballman.com>
Sat, 9 Oct 2021 12:20:20 +0000 (08:20 -0400)
committerAaron Ballman <aaron@aaronballman.com>
Sat, 9 Oct 2021 12:20:20 +0000 (08:20 -0400)
commitaf971365a2a8b0d982814c0652bb86844fd19cda
tree39e51b7df5c1471427ebe7c7260efc682f3cbd60
parenta1f0f847ff7d3944c992158226026024ccc67207
Fix a diagnoses-valid in C++20 with variadic macros

C++20 and later allow you to pass no argument for the ... parameter in
a variadic macro, whereas earlier language modes and C disallow it.

We no longer diagnose in C++20 and later modes. This fixes PR51609.
clang/include/clang/Basic/DiagnosticLexKinds.td
clang/lib/Lex/PPMacroExpansion.cpp
clang/test/Preprocessor/empty_va_arg.cpp [new file with mode: 0644]