/* { dg-do run } */
/* Tests we stringify without changing unprintable characts.  

   Andrew Pinski */

extern int strcmp (const char *, const char *);
extern int puts (const char *);
extern void abort (void);
#define err(str) do { puts(str); abort(); } while (0)


#define S(X) S2(X)
#define S2(X) #X
#define TAB "	" /* Note there is a tab character here. */

int main (int argc, char *argv[])
{
  /* The space before "bar" here is vital.  */
  char a[] = S(S(TAB));

  if (strcmp (a, "\"\\\"	\\\"\""))
    err ("stringification caused octal");

  return 0;
}
