PING [PATCH] mention disabling GCC built-ins for customization

Martin Sebor msebor@gmail.com
Fri Jun 29 17:01:00 GMT 2018


I have committed the change:
   http://tinyurl.com/y7jbvfs4

Martin

On 06/27/2018 05:37 PM, Martin Sebor wrote:
> Ping: https://sourceware.org/ml/libc-alpha/2018-06/msg00428.html
>
> If there are no further comments I'd like to commit this change
> later this week.
>
> On 06/14/2018 01:11 PM, Martin Sebor wrote:
>> On 06/14/2018 01:25 AM, Andreas Schwab wrote:
>>> On Jun 13 2018, Martin Sebor <msebor@gmail.com> wrote:
>>>
>>>> diff --git a/manual/stdio.texi b/manual/stdio.texi
>>>> index 38be236..d945955 100644
>>>> --- a/manual/stdio.texi
>>>> +++ b/manual/stdio.texi
>>>> @@ -2963,7 +2963,11 @@ The facilities of this section are declared in
>>>> the header file
>>>>
>>>>  @strong{Portability Note:} The ability to extend the syntax of
>>>>  @code{printf} template strings is a GNU extension.  ISO standard C has
>>>> -nothing similar.
>>>> +nothing similar.  When using the GNU C compiler or any other compiler
>>>> +that interprets calls to standard I/O functions according to the rules
>>>> +of the language standard it is necessary to disable such handling by
>>>> +the appropriate compiler option.  Otherwise the behavior of a program
>>>> +that relies on the extension is undefined.
>>>
>>> The manual already says that redefining existing conversions causes
>>> problems:
>>>
>>>     You can redefine the standard output conversions, but this is
>>> probably
>>>     not a good idea because of the potential for confusion.  Library
>>> routines
>>>     written by other people could break if you do this.
>>>
>>> We should extend that with a stronger language, independent of any
>>> compiler behaviour.
>>
>> That sounds fine to me.  Attached is an updated patch that also
>> adds text to this paragraph.  I added a Portability Note before
>> the text to highlight the portability impact, similarly to
>> the prior paragraph.
>>
>> Martin
>



More information about the Libc-alpha mailing list