diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6c03e26718b..39c6b27cebf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-05-24 Paolo Carlini + + PR c++/50436 + * g++.dg/template/crash123.C: New. + * g++.dg/template/crash124.C: Likewise. + 2016-05-24 Martin Sebor PR c++/71147 diff --git a/gcc/testsuite/g++.dg/template/crash123.C b/gcc/testsuite/g++.dg/template/crash123.C new file mode 100644 index 00000000000..20a49619c6f --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash123.C @@ -0,0 +1,19 @@ +// PR c++/50436 + +template struct VI {}; +template +struct IP +{ + static const bool r = IP::r; // { dg-error "depth" } +}; +template struct V +{ + VI::r> vi; +}; +struct X; +struct Y +{ + V v; // { dg-message "from here" } +}; + +// { dg-prune-output "compilation terminated" } diff --git a/gcc/testsuite/g++.dg/template/crash124.C b/gcc/testsuite/g++.dg/template/crash124.C new file mode 100644 index 00000000000..4931aa8e9c6 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash124.C @@ -0,0 +1,21 @@ +// PR c++/50436 + +template struct VI {}; +template +struct IP +{ + static const bool r = IP::r; // { dg-error "depth" } +}; +template +struct V +{ + static const bool r = IP::r; + VI vi; +}; +struct X; +struct Y +{ + V v; // { dg-message "from here" } +} + +// { dg-prune-output "compilation terminated" }