This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Unused GCC builtins
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Manuel Rigger <rigger dot manuel at gmail dot com>, Manuel Rigger <manuel dot rigger at jku dot at>, gcc at gcc dot gnu dot org, Stefan Marr <s dot marr at kent dot ac dot uk>, Bram Adams <bram dot adams at polymtl dot ca>
- Date: Wed, 24 Jan 2018 19:12:25 +0100
- Subject: Re: Unused GCC builtins
- Authentication-results: sourceware.org; auth=none
- References: <5A66076F0200008100014BC3@s05gw02.im.jku.at> <87o9llg31z.fsf@mid.deneb.enyo.de> <CA+u7OA65J=q8sniUgsA7v95PGmf418PKGZj+sWkC5L3Cie2_+A@mail.gmail.com> <20180124140956.GC2063@tucnak>
* Jakub Jelinek:
> On Wed, Jan 24, 2018 at 03:04:55PM +0100, Manuel Rigger wrote:
>> In a second step, we also considered internal builtins and found that the
>> vararg handling builtins (__builtin_va_start, __builtin_va_end,
>> __builtin_va_arg, and __builtin_va_copy) are relied upon by many projects,
>> even though they are undocumented in GCC's builtins API. Could they be
>> added to the documentation?
>
> Why? What is documented is va_start/va_end/va_arg/va_copy, that is
> what people should use, the builtins are just internal implementation of
> those macros.
And these builtins differ from the math builtins because <stdarg.h> is
provided by GCC, but <math.h> is not, and there are many different
implementations.