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 0000000000000000000000000000000000000000..c24c3b85d782b97271fe85b0d116de430ad93b7e
--- /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 {};