On 11 Jun 2025, at 18:00, Brooks Davis <bro...@freebsd.org> wrote: > > The branch main has been updated by brooks: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=c190cd94b7bff590b06db906c56789525a991ece > > commit c190cd94b7bff590b06db906c56789525a991ece > Author: Brooks Davis <bro...@freebsd.org> > AuthorDate: 2025-06-11 16:39:02 +0000 > Commit: Brooks Davis <bro...@freebsd.org> > CommitDate: 2025-06-11 16:39:02 +0000 > > sys/_stdarg.h: drop cdefs.h and _types.h polution > > Rely in sys/_visible for visibility macros and use __buitin_va_list > instead of __va_list everywere we declare va_list.
This layout seems odd. I would expect sys/sys/_stdarg.h to define __va_list, which stdio.h and wchar.h can then include and use __va_list for their va_list, like how we do things for __[u]intN_t. Jess > Reviewed by: imp > Exp-run by: antoine (PR 286274) > Pull Request: https://github.com/freebsd/freebsd-src/pull/1595 > --- > include/stdio.h | 2 +- > include/wchar.h | 2 +- > sys/sys/_stdarg.h | 7 +++---- > 3 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/include/stdio.h b/include/stdio.h > index 3dedb8fd5a54..34e877b60c14 100644 > --- a/include/stdio.h > +++ b/include/stdio.h > @@ -74,7 +74,7 @@ typedef __off64_t off64_t; > > #if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE > #ifndef _VA_LIST_DECLARED > -typedef __va_list va_list; > +typedef __builtin_va_list va_list; > #define _VA_LIST_DECLARED > #endif > #endif > diff --git a/include/wchar.h b/include/wchar.h > index e4b037c9b16f..bf07062935d5 100644 > --- a/include/wchar.h > +++ b/include/wchar.h > @@ -78,7 +78,7 @@ typedef __size_t size_t; > > #if __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE > #ifndef _VA_LIST_DECLARED > -typedef __va_list va_list; > +typedef __builtin_va_list va_list; > #define _VA_LIST_DECLARED > #endif > #endif > diff --git a/sys/sys/_stdarg.h b/sys/sys/_stdarg.h > index 063e59dc83f6..3886f4632b10 100644 > --- a/sys/sys/_stdarg.h > +++ b/sys/sys/_stdarg.h > @@ -31,12 +31,11 @@ > #ifndef _SYS__STDARG_H_ > #define _SYS__STDARG_H_ > > -#include <sys/cdefs.h> > -#include <sys/_types.h> > +#include <sys/_visible.h> > > #ifndef _VA_LIST_DECLARED > - #define _VA_LIST_DECLARED > - typedef __va_list va_list; > +#define _VA_LIST_DECLARED > +typedef __builtin_va_list va_list; > #endif > > #define va_start(ap, last) __builtin_va_start((ap), (last))