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