diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-26 01:25:20 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-26 01:25:20 +0000 |
commit | 6d77ed9258cbd3bc0de2971c6c501140493686db (patch) | |
tree | 3361bfee7bbd0f755ff02c5d8d2bb9e0a58ca2d3 /gcc/testsuite/gcc.c-torture/execute/builtins/printf.c | |
parent | 4e741c1ddb038b1409c7c0c974c8f7f3ebfeb3ac (diff) | |
download | ppe42-gcc-6d77ed9258cbd3bc0de2971c6c501140493686db.tar.gz ppe42-gcc-6d77ed9258cbd3bc0de2971c6c501140493686db.zip |
PR middle-end/25022
* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
Lookup the explicit replacement functions for any unlocked
stdio builtin transformations.
testsuite:
* gcc.c-torture/execute/builtins/fprintf.c,
gcc.c-torture/execute/builtins/fputs-lib.c,
gcc.c-torture/execute/builtins/fputs.c,
gcc.c-torture/execute/builtins/lib/fprintf.c,
gcc.c-torture/execute/builtins/lib/printf.c,
gcc.c-torture/execute/builtins/printf.c: Test the unlocked style.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107535 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/builtins/printf.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/printf.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/printf.c b/gcc/testsuite/gcc.c-torture/execute/builtins/printf.c index 0d01e544aa1..e493f90b7cd 100644 --- a/gcc/testsuite/gcc.c-torture/execute/builtins/printf.c +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/printf.c @@ -6,6 +6,7 @@ Written by Kaveh R. Ghazi, 12/4/2000. */ extern int printf (const char *, ...); +extern int printf_unlocked (const char *, ...); extern void abort(void); void @@ -28,8 +29,12 @@ main_test (void) if (s3 != s2+1 || *s3 != 0) abort(); + printf (""); + printf ("%s", ""); printf ("\n"); + printf ("%s", "\n"); printf ("hello world\n"); + printf ("%s", "hello world\n"); /* Test at least one instance of the __builtin_ style. We do this to ensure that it works and that the prototype is correct. */ @@ -38,4 +43,10 @@ main_test (void) prototypes are set correctly too. */ __builtin_putchar ('\n'); __builtin_puts ("hello"); + /* Check the unlocked style, these evaluate to nothing to avoid + problems on systems without the unlocked functions. */ + printf_unlocked (""); + __builtin_printf_unlocked (""); + printf_unlocked ("%s", ""); + __builtin_printf_unlocked ("%s", ""); } |