diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-06 17:29:41 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-06 17:29:41 +0000 |
commit | 29081c0843b4f280e36eb9aed3fb19b97ba6d823 (patch) | |
tree | d1edb6ce6bd660310edc4d54628d90e79e651a0b /gcc/cp/cp-tree.def | |
parent | 56c33711860dcd8a93bd17b7616315aad1365180 (diff) | |
download | gcc-29081c0843b4f280e36eb9aed3fb19b97ba6d823.tar.gz |
cp:
PR 21903
* cp-tree.def (DEFAULT_ARG): Document TREE_CHAIN use.
* parser.c (cp_parser_late_parsing_default_args): Propagate parsed
argument to any early instantiations.
* pt.c (tsubst_arg_types): Chain early instantiation of default arg.
testsuite:
PR 21903
* g++.dg/parse/defarg9.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100669 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-tree.def')
-rw-r--r-- | gcc/cp/cp-tree.def | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cp/cp-tree.def b/gcc/cp/cp-tree.def index c42dbfbf7c0..27284675e61 100644 --- a/gcc/cp/cp-tree.def +++ b/gcc/cp/cp-tree.def @@ -206,7 +206,9 @@ DEFTREECODE (USING_DECL, "using_decl", tcc_declaration, 0) /* A using directive. The operand is USING_STMT_NAMESPACE. */ DEFTREECODE (USING_STMT, "using_directive", tcc_statement, 1) -/* An un-parsed default argument. Looks like an IDENTIFIER_NODE. */ +/* An un-parsed default argument. Looks like an IDENTIFIER_NODE. + TREE_CHAIN is used to hold instantiations of functions that had to + be instantiated before the argument was parsed. */ DEFTREECODE (DEFAULT_ARG, "default_arg", tcc_exceptional, 0) /* A template-id, like foo<int>. The first operand is the template. |