diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-07-04 21:58:35 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-07-04 21:58:35 +0000 |
commit | 5fde62e29930ccf09c647c47db77894ff046b0ac (patch) | |
tree | c58498a40d74bafba92fba29b471baa953295b4b /gcc/testsuite | |
parent | 1d77bc548ad22e5a82ab8f885ea045f3fdfabd24 (diff) | |
download | gcc-5fde62e29930ccf09c647c47db77894ff046b0ac.zip gcc-5fde62e29930ccf09c647c47db77894ff046b0ac.tar.gz gcc-5fde62e29930ccf09c647c47db77894ff046b0ac.tar.bz2 |
re PR c++/38634 (ICE with wrong number of template parameters)
/cp
2013-07-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38634
* decl.c (start_preparsed_function): Return a bool, false if
push_template_decl fails.
(start_function): Adjust.
* cp-tree.h: Update.
/testsuite
2013-07-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38634
* g++.dg/template/crash116.C: New.
From-SVN: r200682
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/crash116.C | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7e72edf..09599ff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-07-04 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/38634 + * g++.dg/template/crash116.C: New. + 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com> * gcc.dg/tree-ssa/vrp66.c: Make conditional on { target { ! int16 } } . diff --git a/gcc/testsuite/g++.dg/template/crash116.C b/gcc/testsuite/g++.dg/template/crash116.C new file mode 100644 index 0000000..d26c591 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash116.C @@ -0,0 +1,13 @@ +// PR c++/38634 + +template<int> struct A +{ + A(); +}; + +template<int N, char> A<N>::A() // { dg-error "template|required" } +{ + struct B {}; +} + +A<0> a; |