This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog builtin-attrs.def builtins.c ...
- From: ghazi at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 21 Dec 2001 02:36:38 -0000
- Subject: gcc/gcc ChangeLog builtin-attrs.def builtins.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: ghazi@gcc.gnu.org 2001-12-20 18:36:37
Modified files:
gcc : ChangeLog builtin-attrs.def builtins.c
builtins.def c-common.c
gcc/testsuite : ChangeLog
gcc/doc : extend.texi
gcc/testsuite/gcc.dg/format: builtin-1.c c90-printf-3.c
c99-printf-3.c ext-1.c ext-6.c
format.h
Log message:
* 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.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.12410&r2=1.12411
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtin-attrs.def.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&r1=1.136&r2=1.137
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.def.diff?cvsroot=gcc&r1=1.26&r2=1.27
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&r1=1.282&r2=1.283
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.1486&r2=1.1487
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gcc&r1=1.49&r2=1.50
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/builtin-1.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/c90-printf-3.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/c99-printf-3.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/ext-1.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/ext-6.c.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/format/format.h.diff?cvsroot=gcc&r1=1.1&r2=1.2