* builtin-attrs.def (__builtin_printf_unlocked, __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked): Mark with the __printf__ attribute. * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter and set the replacement function depending on it. (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing. Handle BUILT_IN_*_UNLOCKED when optimizing. * builtins.def (DEF_EXT_FALLBACK_BUILTIN, DEF_EXT_FRONT_END_LIB_BUILTIN): New macros. Declare the "unlocked" stdio functions. * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf): Add an `unlocked' parameter and set the replacement function depending on it. (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and BUILT_IN_FPRINTF_UNLOCKED. * doc/extend.texi (printf_unlocked, fprintf_unlocked, fputs_unlocked): Document. testsuite: * gcc.dg/format/builtin-1.c: Test unlocked stdio. * gcc.dg/format/c90-printf-3.c: Likewise. * gcc.dg/format/c99-printf-3.c: Likewise. * gcc.dg/format/ext-1.c: Likewise. * gcc.dg/format/ext-6.c: Likewise. * gcc.dg/format/format.h: Prototype unlocked stdio. From-SVN: r48229
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
array-1.c | Loading commit data... | |
attr-1.c | Loading commit data... | |
attr-2.c | Loading commit data... | |
attr-3.c | Loading commit data... | |
attr-4.c | Loading commit data... | |
attr-5.c | Loading commit data... | |
attr-6.c | Loading commit data... | |
attr-7.c | Loading commit data... | |
branch-1.c | Loading commit data... | |
builtin-1.c | Loading commit data... | |
c90-printf-1.c | Loading commit data... | |
c90-printf-2.c | Loading commit data... | |
c90-printf-3.c | Loading commit data... | |
c90-scanf-1.c | Loading commit data... | |
c90-scanf-2.c | Loading commit data... | |
c90-scanf-3.c | Loading commit data... | |
c90-scanf-4.c | Loading commit data... | |
c90-strftime-1.c | Loading commit data... | |
c90-strftime-2.c | Loading commit data... | |
c94-printf-1.c | Loading commit data... | |
c94-scanf-1.c | Loading commit data... | |
c99-printf-1.c | Loading commit data... | |
c99-printf-2.c | Loading commit data... | |
c99-printf-3.c | Loading commit data... | |
c99-scanf-1.c | Loading commit data... | |
c99-scanf-2.c | Loading commit data... | |
c99-scanf-3.c | Loading commit data... | |
c99-strftime-1.c | Loading commit data... | |
c99-strftime-2.c | Loading commit data... | |
diag-1.c | Loading commit data... | |
errmk-1.c | Loading commit data... | |
ext-1.c | Loading commit data... | |
ext-2.c | Loading commit data... | |
ext-3.c | Loading commit data... | |
ext-4.c | Loading commit data... | |
ext-5.c | Loading commit data... | |
ext-6.c | Loading commit data... | |
format.exp | Loading commit data... | |
format.h | Loading commit data... | |
miss-1.c | Loading commit data... | |
miss-2.c | Loading commit data... | |
multattr-1.c | Loading commit data... | |
multattr-2.c | Loading commit data... | |
multattr-3.c | Loading commit data... | |
no-exargs-1.c | Loading commit data... | |
no-exargs-2.c | Loading commit data... | |
no-y2k-1.c | Loading commit data... | |
nonlit-1.c | Loading commit data... | |
nonlit-2.c | Loading commit data... | |
nonlit-3.c | Loading commit data... | |
plus-1.c | Loading commit data... | |
sec-1.c | Loading commit data... | |
strfmon-1.c | Loading commit data... | |
va-1.c | Loading commit data... | |
warnll-1.c | Loading commit data... | |
xopen-1.c | Loading commit data... | |
z-1.c | Loading commit data... |