2006-09-23 Lee Millward <lee.millward@codesourcery.com>
PR c++/27667
* cp-tree.h (begin_specialization): Return bool instead of void.
* pt.c (check_specialization_scope): Likwise. Adjust comment.
Return false if a specialization isn't permitted in the current
scope,.
(begin_specialization): Use the return value of
check_specialization_scope.
* parser.c (cp_parser_explicit_specialization): If
begin_specialization returned false, skip the rest of the
specialization.
2006-09-23 Lee Millward <lee.millward@codesourcery.com>
PR c++/27667
* g++.dg/template/spec32.C: New test.
* g++.old-deja/g++.pt/spec20.C: Adjust error markers.