aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/pr61817-1.c19
-rw-r--r--gcc/testsuite/gcc.dg/pr61817-2.c19
-rw-r--r--gcc/testsuite/gcc.dg/pr69391-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/pr69391-2.c12
5 files changed, 69 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bc9eed1..0ecced82 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2016-04-06 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/pr61817-1.c: New test.
+ * gcc.dg/pr61817-2.c: New test.
+ * gcc.dg/pr69391-1.c: New test.
+ * gcc.dg/pr69391-2.c: New test.
+
2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70398
diff --git a/gcc/testsuite/gcc.dg/pr61817-1.c b/gcc/testsuite/gcc.dg/pr61817-1.c
new file mode 100644
index 0000000..4230485
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr61817-1.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -ftrack-macro-expansion=0" } */
+
+#define A(x) _Static_assert(x, #x)
+#define F(x, y, z) a = __LINE__, b = x ## y, c = z
+
+enum {
+#line 10
+ F
+ (
+ __LI,
+ NE__,
+ __LINE__
+ )
+};
+
+A(a == 15);
+A(b == 15);
+A(c == 15);
diff --git a/gcc/testsuite/gcc.dg/pr61817-2.c b/gcc/testsuite/gcc.dg/pr61817-2.c
new file mode 100644
index 0000000..e4326b8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr61817-2.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c11 -ftrack-macro-expansion=1" } */
+
+#define A(x) _Static_assert(x, #x)
+#define F(x, y, z) a = __LINE__, b = x ## y, c = z
+
+enum {
+#line 10
+ F
+ (
+ __LI,
+ NE__,
+ __LINE__
+ )
+};
+
+A(a == 15);
+A(b == 15);
+A(c == 15);
diff --git a/gcc/testsuite/gcc.dg/pr69391-1.c b/gcc/testsuite/gcc.dg/pr69391-1.c
new file mode 100644
index 0000000..15e49dc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69391-1.c
@@ -0,0 +1,12 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftrack-macro-expansion=0" } */
+#define STR_I(X) #X
+#define STR(X) STR_I(X)
+#define LINE STR(__LINE__) STR(__LINE__)
+int main()
+{
+ const char *s = LINE;
+ if (s[0] != '8' || s[1] != '8')
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr69391-2.c b/gcc/testsuite/gcc.dg/pr69391-2.c
new file mode 100644
index 0000000..7d2faae
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr69391-2.c
@@ -0,0 +1,12 @@
+/* { dg-do run } */
+/* { dg-additional-options "-ftrack-macro-expansion=1" } */
+#define STR_I(X) #X
+#define STR(X) STR_I(X)
+#define LINE STR(__LINE__) STR(__LINE__)
+int main()
+{
+ const char *s = LINE;
+ if (s[0] != '8' || s[1] != '8')
+ __builtin_abort ();
+ return 0;
+}