/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-fab1" } */

typedef struct { int i; } FILE;
FILE *fp;
extern int __fprintf_chk (FILE *, int, const char *, ...);
volatile int vi0, vi1, vi2, vi3, vi4, vi5, vi6, vi7, vi8, vi9;

void test (void)
{
  vi0 = 0;
  __fprintf_chk (fp, 1, "hello");
  vi1 = 0;
  __fprintf_chk (fp, 1, "hello\n");
  vi2 = 0;
  __fprintf_chk (fp, 1, "a");
  vi3 = 0;
  __fprintf_chk (fp, 1, "");
  vi4 = 0;
  __fprintf_chk (fp, 1, "%s", "hello");
  vi5 = 0;
  __fprintf_chk (fp, 1, "%s", "hello\n");
  vi6 = 0;
  __fprintf_chk (fp, 1, "%s", "a");
  vi7 = 0;
  __fprintf_chk (fp, 1, "%c", 'x');
  vi8 = 0;
  __fprintf_chk (fp, 1, "%d%d", vi0, vi1);
  vi9 = 0;
}

/* { dg-final { scan-tree-dump "vi0.*fwrite.*\"hello\".*1, 5, fp.*vi1" "fab1"} } */
/* { dg-final { scan-tree-dump "vi1.*fwrite.*\"hello\\\\n\".*1, 6, fp.*vi2" "fab1"} } */
/* { dg-final { scan-tree-dump "vi2.*fputc.*fp.*vi3" "fab1"} } */
/* { dg-final { scan-tree-dump "vi3 ={v} 0\[^\(\)\]*vi4 ={v} 0" "fab1"} } */
/* { dg-final { scan-tree-dump "vi4.*fwrite.*\"hello\".*1, 5, fp.*vi5" "fab1"} } */
/* { dg-final { scan-tree-dump "vi5.*fwrite.*\"hello\\\\n\".*1, 6, fp.*vi6" "fab1"} } */
/* { dg-final { scan-tree-dump "vi6.*fputc.*fp.*vi7" "fab1"} } */
/* { dg-final { scan-tree-dump "vi7.*fputc.*fp.*vi8" "fab1"} } */
/* { dg-final { scan-tree-dump "vi8.*__fprintf_chk.*fp.*1.*\"%d%d\".*vi9" "fab1"} } */
