semantics.c (finish_pseudo_destructor_expr): Allow differing cv-qualification between...
authorMark Mitchell <mark@codesourcery.com>
Fri, 19 Mar 2004 07:27:30 +0000 (07:27 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 19 Mar 2004 07:27:30 +0000 (07:27 +0000)
commit26bcf8fc16a06d4fe16ac25ce79739e2e6cb7445
tree78c8fee7aeff0e01a8b8cc9aef49a891bccb39a7
parentff3fcb8a50f89eff597c9d5e8f8d1cf6e31b809b
semantics.c (finish_pseudo_destructor_expr): Allow differing cv-qualification between the type named by the...

* semantics.c (finish_pseudo_destructor_expr): Allow differing
cv-qualification between the type named by the
pseudo-destructor-name and the object-type.

* search.c (accessible_base_p): Handle non-proper bases.

* name-lookup.c (do_nonmember_using_decl): If a using declaration
refers to a single overloaded function, set the type of the
function.
* tree.c (lvalue_type): Simplify.
* typeck.c (type_unknown_p): Do not assume all OVERLOADs have an
unknown type.
(build_unary_op): Handle OVERLOADs with known types.

* decl.c (duplicate_decls): Do not destroy DECL_ARGUMENTS for
function templates.

* parser.c (cp_parser_postfix_expression): Handle the use of
"typename" in non-dependent contexts.  Convert appropriately when
when using a qualified name after "->" or ".".

* call.c (conditional_conversion): Honor the requirement that some
conversions refer to the original object.

* g++.dg/expr/dtor2.C: New test.

* g++.dg/lookup/anon4.C: New test.

* g++.dg/overload/using1.C: New test.

* g++.dg/template/lookup7.C: New test.

* g++.dg/template/typename6.C: New test.

* g++.dg/expr/cond6.C: New test.

From-SVN: r79671
16 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl.c
gcc/cp/name-lookup.c
gcc/cp/parser.c
gcc/cp/search.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/expr/cond6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/expr/dtor2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lookup/anon4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/overload/using1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/lookup7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/typename6.C [new file with mode: 0644]