Now that dg-ice is available, let's try it out.
Tested x86_64-pc-linux-gnu, applying to trunk.
gcc/testsuite/ChangeLog:
PR c++/88003
* g++.dg/cpp1y/auto-fn61.C: New test.
---
gcc/testsuite/g++.dg/cpp1y/auto-fn61.C | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
new file mode 100644
index 00000000000..c24c3b85d78
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
@@ -0,0 +1,13 @@
+// PR c++/88003
+// { dg-do compile { target c++14 } }
+// { dg-ice "poplevel_class" }
+
+auto test() {
+ struct O {
+ struct N;
+ };
+ return O();
+}
+
+typedef decltype(test()) TN;
+struct TN::N {};
base-commit: f4b9b136808c31118c52c0addafb3fd323484d1b
--
2.26.2