aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c b/gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c
new file mode 100644
index 000000000..b8b2f11e9
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/cpp/strify4.c
@@ -0,0 +1,25 @@
+/* { 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;
+}