From a286098e0b1ed05aa2deec1fa0702285abcb94ef Mon Sep 17 00:00:00 2001 From: mmitchel Date: Sun, 15 Jan 2006 00:56:50 +0000 Subject: [PATCH] PR c++/25663 * parser.c (cp_parser_direct_declarator): Use cp_parser_error instead of error. PR c++/25663 * g++.dg/template/ctor6.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109713 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/parser.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/template/ctor6.C | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/template/ctor6.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8c5a33c..96cf0a9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2006-01-14 Mark Mitchell + + PR c++/25663 + * parser.c (cp_parser_direct_declarator): Use cp_parser_error + instead of error. + 2006-01-13 Jason Merrill * pt.c (check_explicit_specialization): Use CP_DECL_CONTEXT even more. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 637e183..8e11d43 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -11505,7 +11505,7 @@ cp_parser_direct_declarator (cp_parser* parser, here because we do not have enough information about its original syntactic form. */ - error ("invalid declarator"); + cp_parser_error (parser, "invalid declarator"); declarator = cp_error_declarator; break; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5567ae3..bf07e66 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-01-14 Mark Mitchell + + PR c++/25663 + * g++.dg/template/ctor6.C: New test. + 2006-01-14 Kazu Hirata PR tree-optimization/25485 diff --git a/gcc/testsuite/g++.dg/template/ctor6.C b/gcc/testsuite/g++.dg/template/ctor6.C new file mode 100644 index 0000000..4f21dc9 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ctor6.C @@ -0,0 +1,11 @@ +// PR c++/25663 + +template struct A +{ + A(int); +}; + +void foo() +{ + A<0>(A<0>(0)); +} -- 2.7.4