From: mmitchel Date: Fri, 23 Mar 2007 04:39:08 +0000 (+0000) Subject: * cp-tree.h (current_tempalte_parms): Improve documentation. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df476b3b715126a236b381c02bf841eb77c75bce;p=thirdparty%2Fgcc.git * cp-tree.h (current_tempalte_parms): Improve documentation. * pt.c (current_template_args): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123153 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 523d52b85f07..42a57d035ac8 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2007-03-22 Mark Mitchell + * cp-tree.h (current_tempalte_parms): Improve documentation. + * pt.c (current_template_args): Likewise. + PR c++/30863 * parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do not consume tokens when failing. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index b9b35006643e..18f2cfbc639b 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -742,8 +742,12 @@ struct saved_scope GTY(()) #define current_lang_base scope_chain->lang_base #define current_lang_name scope_chain->lang_name -/* Parsing a function declarator leaves a list of parameter names - or a chain or parameter decls here. */ +/* When parsing a template declaration, a TREE_LIST representing the + active template parametesr. Each node in the list represents one + level of template parameters. The innermost level is first in the + list. The depth of each level is stored as an INTEGER_CST in the + TREE_PURPOSE of each node. The parameters for that level are + stored in the TREE_VALUE. */ #define current_template_parms scope_chain->template_parms diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 575057fd3ef5..69c60b4f5af2 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -2991,8 +2991,10 @@ end_template_decl (void) current_template_parms = TREE_CHAIN (current_template_parms); } -/* Given a template argument vector containing the template PARMS. - The innermost PARMS are given first. */ +/* Within the declaration of a template, return all levels of template + parameters that apply. The template parameters are represented as + a TREE_VEC, in the form documented in cp-tree.h for template + arguments. */ static tree current_template_args (void)