[PATCH 15/18] Add __va_list to <sys/_types.h>

Yaakov Selkowitz yselkowi@redhat.com
Fri Apr 15 14:34:00 GMT 2016


On 2016-04-15 06:22, Corinna Vinschen wrote:
> On Apr 15 12:52, Sebastian Huber wrote:
>> On 15/04/16 12:11, Corinna Vinschen wrote:
>>> On Apr 14 13:54, Sebastian Huber wrote:
>>>>> Add __va_list to <sys/_types.h> for BSD compatibility.  In FreeBSD this
>>>>> typedef is provided by the various architecture-specific
>>>>> <machine/_types.h> in a copy and paste manner.
>>>>>
>>> Is that supposed to replace __VALIST in stdio.h>
>>
>> No, it is used to use, e.g. <syslog.h> from FreeBSD (see tail of file):
>
> I'm asking because FreeBSD uses __va_list throughout stdio.h rather than
> using this weird __VALIST.  I think we should do the same (not in this
> patch series, but again, something to keep in mind).
>
> I also just noticed that stdio.h always includes stddef.h to fetch the
> definition of va_list.  This seems wrong in terms of the feature test
> macros.  FreeBSD only defines va_list (as __va_list) if
> __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE.

Since you said va_list, I'm guessing you meant <stdarg.h> here.  Looking 
at each version of stdio.h in SUS though, va_list is marked XSI until 
SUSv4 where it is CX, so I think it should be __POSIX_VISIBLE >= 200809 
|| __XSI_VISIBLE.

-- 
Yaakov Selkowitz
Associate Software Engineer, ARM
Red Hat, Inc.



More information about the Newlib mailing list