diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/charset/builtin2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/charset/builtin2.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/charset/builtin2.c b/gcc/testsuite/gcc.dg/charset/builtin2.c new file mode 100644 index 0000000..bfe9a20 --- /dev/null +++ b/gcc/testsuite/gcc.dg/charset/builtin2.c @@ -0,0 +1,32 @@ +/* Ensure that transformations of *printf are performed correctly + regardless of -fexec-charset. See PR 25120. */ + +/* { dg-do compile } */ +/* { dg-require-iconv "IBM1047" } */ +/* { dg-options "-O2 -fexec-charset=IBM1047" } */ +/* { dg-final { scan-assembler-not "printf" } } */ +/* { dg-final { scan-assembler-not "fprintf" } } */ +/* { dg-final { scan-assembler-not "sprintf" } } */ + +#include <stdio.h> + +void foo (char *dst, const char *src) +{ + printf ("\n"); + printf ("hello world\n"); + printf ("%s", "\n"); + printf ("%s", "hello world\n"); + printf ("%c", '\n'); + printf ("%s\n", "hello world"); + printf ("%s\n", src); + + fprintf (stdout, "\n"); + fprintf (stdout, "hello world\n"); + fprintf (stdout, "%s", "\n"); + fprintf (stdout, "%s", "hello world\n"); + fprintf (stdout, "%c", '\n'); + fprintf (stdout, "%s", src); + + sprintf (dst, "hello world\n"); + sprintf (dst, "%s", src); +} |