PR c++/28588
commit0e5cde0cdaed60a49d7e1d79c6884ce0a84624e7
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Aug 2006 16:23:33 +0000 (26 16:23 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Aug 2006 16:23:33 +0000 (26 16:23 +0000)
tree0365ed4c2d70b546d5308383eda316cb067b2b23
parent4a121d41abbdaf9d355756f3c335f3a52f7e8809
PR c++/28588
* class.c (resolve_address_of_overloaded_function): Add
access_path parameter.  Perform access checks.
(instantiate_type): Adjust call to
resolve_address_of_overloaded_function.  Remove unnecessary code.
* tree.c (is_overloaded_fn): Document.  Return 2 when there are
acutally multiple functions.
(really_overloaded_fn): Use is_overloaded_fn.
* mangle.c (write_expression): Handle BASELINKs.
* cp-tree.h (really_overloaded_fn): Return bool.
(baselink_for_fns): Declare.
* search.c (lookup_member): Check access for single static
functions here.
* pt.c (convert_nontype_argument_function): Handle BASELINKs.
(tsubst_copy_and_build): Generate BASELINKs for template-ids.
* semantics.c (finish_call_expr): Use baselink_for_fns.
(baselink_for_fns): New function.
(finish_id_expression): Use it.
* parser.c (cp_parser_template_argument): Don't strip BASELINKs.
PR c++/28595
* pt.c (tsubst): Issue errors about attempts to create VLAs at
template-instantiation time.
PR c++/28588
* g++.dg/inherit/access6.C: New test.
* g++.dg/inherit/access7.C: Likewise.
PR c++/28595
* g++.dg/template/array15.C: New test.
* g++.dg/template/crash2.C: Tweak error markers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116468 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/mangle.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/search.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/inherit/access6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/inherit/access7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/array15.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/crash2.C