diff options
Diffstat (limited to 'gcc/cp/cp-tree.def')
-rw-r--r-- | gcc/cp/cp-tree.def | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def index f9819ec1cad..36b7aaa85e8 100644 --- a/gcc/cp/cp-tree.def +++ b/gcc/cp/cp-tree.def @@ -195,7 +195,9 @@ DEFTREECODE (UNBOUND_CLASS_TEMPLATE, "unbound_class_template", 't', 0) DEFTREECODE (TYPEOF_TYPE, "typeof_type", 't', 0) /* A using declaration. DECL_INITIAL contains the specified scope. - This is not an alias, but is later expanded into multiple aliases. */ + This is not an alias, but is later expanded into multiple aliases. + The decl will have a NULL_TYPE iff the scope is a dependent scope, + otherwise it will have a void type. */ DEFTREECODE (USING_DECL, "using_decl", 'd', 0) /* A using directive. The operand is USING_STMT_NAMESPACE. */ @@ -205,11 +207,10 @@ DEFTREECODE (USING_STMT, "using_directive", 'e', 1) DEFTREECODE (DEFAULT_ARG, "default_arg", 'x', 0) /* A template-id, like foo<int>. The first operand is the template. - The second is the TREE_LIST or TREE_VEC of explicitly specified - arguments. The template will be a FUNCTION_DECL, TEMPLATE_DECL, or - an OVERLOAD. If the template-id refers to a member template, the - template may be an IDENTIFIER_NODE. In an uninstantiated template, - the template may be a LOOKUP_EXPR. */ + The second is NULL if there are no explicit arguments, or a + TREE_VEC of arguments. The template will be a FUNCTION_DECL, + TEMPLATE_DECL, or an OVERLOAD. If the template-id refers to a + member template, the template may be an IDENTIFIER_NODE. */ DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", 'e', 2) /* A list-like node for chaining overloading candidates. TREE_TYPE is @@ -220,12 +221,6 @@ DEFTREECODE (OVERLOAD, "overload", 'x', 0) tree structure. */ DEFTREECODE (WRAPPER, "wrapper", 'x', 0) -/* Used to represent deferred name lookup for dependent names while - parsing a template declaration. The first argument is an - IDENTIFIER_NODE for the name in question. The TREE_TYPE is - unused. */ -DEFTREECODE (LOOKUP_EXPR, "lookup_expr", 'e', 1) - /* A whole bunch of tree codes for the initial, superficial parsing of templates. */ DEFTREECODE (MODOP_EXPR, "modop_expr", 'e', 3) @@ -245,8 +240,9 @@ DEFTREECODE (PSEUDO_DTOR_EXPR, "pseudo_dtor_expr", 'e', 3) modify the original expression, which would change the mangling of that expression if it appeared in a template argument list. In that situation, we create a NON_DEPENDENT_EXPR to take the place of - the original expression. */ -DEFTREECODE (NON_DEPENDENT_EXPR, "non_dependent_expr", 'e', 0) + the original expression. The expression is the only operand -- it + is only needed for diagnostics. */ +DEFTREECODE (NON_DEPENDENT_EXPR, "non_dependent_expr", 'e', 1) /* CTOR_INITIALIZER is a placeholder in template code for a call to setup_vtbl_pointer (and appears in all functions, not just ctors). */ |