https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52534
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, if we warn, we shouldn't warn for C23 or later, because one can pass anything there, like 3 arguments, or that (unsigned int)n_args, or just one, etc. And __builtin_va_start (ap, 0) is what is used regardless of the passed argument in that case.