Commit d23faea1 by Mark Mitchell Committed by Mark Mitchell

re PR c++/8372 (ICE on explicit call of destructor)

	PR c++/8372
	* pt.c (tsubst_copy): Handle destructor names more correctly.

	PR c++/8372
	* g++.dg/template/dtor1.C: New test.

From-SVN: r60015
parent 3932057c
2002-12-10 Mark Mitchell <mark@codesourcery.com>
PR c++/8372
* pt.c (tsubst_copy): Handle destructor names more correctly.
2002-12-10 Matt Austern <austern@apple.com>
* cp-tree.h: get rid of needs_virtual_reinit bit.
2002-12-09 Mark Mitchell <mark@codesourcery.com>
......
......@@ -7233,9 +7233,10 @@ tsubst_copy (t, args, complain, in_decl)
{
tree base = tsubst_copy (TREE_OPERAND (name, 0), args,
complain, in_decl);
name = TREE_OPERAND (name, 1);
name = tsubst_copy (TREE_OPERAND (name, 0), args,
complain, in_decl);
name = TREE_OPERAND (TREE_OPERAND (name, 1), 0);
if (TREE_CODE (name) == TYPE_DECL)
name = TREE_TYPE (name);
name = tsubst_copy (name, args, complain, in_decl);
name = build1 (BIT_NOT_EXPR, NULL_TREE, name);
name = build_nt (SCOPE_REF, base, name);
}
......
2002-12-10 Mark Mitchell <mark@codesourcery.com>
PR c++/8372
* g++.dg/template/dtor1.C: New test.
* g++.old-deja/g++.ext/memconst.C: Use old-deja, not dg, error
markers.
......
struct A {};
template <typename T> struct B
{
B() { A().A::~A(); }
};
B<void> b;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment