summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/charset/builtin2.c
blob: bfe9a20e25b3ed3971f6b0aa1946894a38e08d4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
}