So the x86 assertion failure I fixed yesterday where I didn't have a testcase? Martin L has just tripped over it and filed a bug for it overnight.

I'm adding his testcase to the C++ regression testsuite. I also retro-actively added the PR marker to the x86 commit which fixes this problem.


Jeff
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4cc2cedc0dc..0a08fe2ed5c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
 2017-11-03  Jeff Law  <l...@redhat.com>
 
+       PR target/82823
+       * g++.dg/torture/pr82823.C: New test.
+
        * gcc.target/i386/stack-check-12.c: New test.
 
 2017-11-03  Jakub Jelinek  <ja...@redhat.com>
diff --git a/gcc/testsuite/g++.dg/torture/pr82823.C 
b/gcc/testsuite/g++.dg/torture/pr82823.C
new file mode 100644
index 00000000000..dab369e7ad3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/torture/pr82823.C
@@ -0,0 +1,26 @@
+// { dg-do compile }
+// { dg-additional-options "-fstack-clash-protection" }
+// { dg-require-effective-target supports_stack_clash_protection }
+
+
+class a
+{
+public:
+  ~a ();
+  int b;
+};
+class c
+{
+public:
+  a m_fn1 ();
+};
+class d
+{
+  int e ();
+  c f;
+};
+int
+d::e ()
+{
+  return f.m_fn1 ().b;
+}

Reply via email to