PR c++/9978, c++/9708
authorNathan Sidwell <nathan@codesourcery.com>
Sat, 22 Mar 2003 15:34:41 +0000 (15:34 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Sat, 22 Mar 2003 15:34:41 +0000 (15:34 +0000)
commit3e4a35628b614d3e155ae9853888d69c5e89a354
tree18470b6d27dbd4fa2ef409287ea10c344c20ee5e
parentc8fcf20ce6259bb102901de9df6c999afb3bc0fe
PR c++/9978, c++/9708

cp:
PR c++/9978, c++/9708
* cp-tree.h (instantiate_template): Add tsubst_flags parameter.
* call.c (add_template_candidate_real): Adjust
instantiate_template call.
* class.c (resolve_address_of_overloaded_function): Likewise.
* decl.c (build_enumerator): Set TREE_CONSTANT.
* pt.c (check_instantiated_args): New.
(push_inline_template_parms_recursive): Set TREE_CONSTANT,
TREE_READONLY.
(build_template_parm_index): Copy TREE_CONSTANT, TREE_READONLY.
(reduce_template_parm_level): Likewise.
(process_template_parm): Likewise.
(check_explicit_specialization): Adjust instantiate_template call.
(convert_template_argument): Don't check non-type argument here.
(lookup_template_class): Check them here.
(tsubst_friend_function): Adjust instantiate_template call.
(instantiate_template): Add tsubst_flags parameter, use it. Check
instantiated args.
testsuite:
PR c++/9978, c++/9708
* g++.dg/ext/vlm1.C: Adjust expected error.
* g++.dg/ext/vla2.C: New test.
* g++.dg/template/arg1.C: New test.
* g++.dg/template/arg2.C: New test.

From-SVN: r64714
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/vla2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/vlm1.C
gcc/testsuite/g++.dg/template/arg1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/arg2.C [new file with mode: 0644]