diff gcc/testsuite/g++.dg/torture/pr85834.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/torture/pr85834.C	Thu Oct 25 07:37:49 2018 +0900
@@ -0,0 +1,38 @@
+/* { dg-do compile } */
+
+typedef __SIZE_TYPE__ a;
+extern "C" void *memset(void *, int, a);
+typedef struct b c;
+enum d { e };
+template <int, typename> class f {
+public:
+    template <typename g> f(g);
+};
+typedef f<1, long> h;
+template <typename> struct j {
+    enum k {};
+};
+class l {
+public:
+    typedef j<l>::k k;
+    l(k);
+    operator d();
+};
+struct b {};
+class m {};
+c q(h, d);
+c n(unsigned char o[]) {
+    int i;
+    long r;
+    for (i = 0; i < 4; i++)
+      r = o[i];
+    return q(r, l((l::k)e));
+}
+m p() {
+    unsigned char o[4], s = 1;
+    for (;;) {
+	memset(o, s, 4);
+	n(o);
+	s = 2;
+    }
+}