From: Paolo Carlini Date: Tue, 24 May 2016 21:32:29 +0000 (+0000) Subject: re PR c++/50436 (Crash or hang on invalid template code) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b2dc9c3b2012f7bf7bd3e69bac8ea2fd1c470975;p=gcc.git re PR c++/50436 (Crash or hang on invalid template code) 2016-05-24 Paolo Carlini PR c++/50436 * g++.dg/template/crash123.C: New. * g++.dg/template/crash124.C: Likewise. From-SVN: r236671 --- 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" }