Document interaction with GCC built-ins in the Customizing Printf
section of the manual.
This commit is contained in:
parent
bac15a72fc
commit
7e8989d03b
|
@ -1,3 +1,8 @@
|
||||||
|
2018-06-29 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
|
* manual/stdio.texi (Customizing Printf): Mention interaction
|
||||||
|
with GCC built-ins.
|
||||||
|
|
||||||
2018-06-29 Maciej W. Rozycki <macro@mips.com>
|
2018-06-29 Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
[BZ #23307]
|
[BZ #23307]
|
||||||
|
|
|
@ -2962,7 +2962,11 @@ The facilities of this section are declared in the header file
|
||||||
|
|
||||||
@strong{Portability Note:} The ability to extend the syntax of
|
@strong{Portability Note:} The ability to extend the syntax of
|
||||||
@code{printf} template strings is a GNU extension. ISO standard C has
|
@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.
|
||||||
|
|
||||||
@node Registering New Conversions
|
@node Registering New Conversions
|
||||||
@subsection Registering New Conversions
|
@subsection Registering New Conversions
|
||||||
|
@ -3016,9 +3020,13 @@ function when this format specifier appears in the format string.
|
||||||
The return value is @code{0} on success, and @code{-1} on failure
|
The return value is @code{0} on success, and @code{-1} on failure
|
||||||
(which occurs if @var{spec} is out of range).
|
(which occurs if @var{spec} is out of range).
|
||||||
|
|
||||||
You can redefine the standard output conversions, but this is probably
|
@strong{Portability Note:} It is possible to redefine the standard output
|
||||||
not a good idea because of the potential for confusion. Library routines
|
conversions but doing so is strongly discouraged because it may interfere
|
||||||
written by other people could break if you do this.
|
with the behavior of programs and compiler implementations that assume
|
||||||
|
the effects of the conversions conform to the relevant language standards.
|
||||||
|
In addition, conforming compilers need not guarantee that the function
|
||||||
|
registered for a standard conversion will be called for each such
|
||||||
|
conversion in every format string in a program.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@node Conversion Specifier Options
|
@node Conversion Specifier Options
|
||||||
|
|
Loading…
Reference in New Issue