Commit 5cf10afb by Andrew Pinski Committed by Andrew Pinski

re PR c++/28988 (g++ does not check first type name in pseudo-destructor-name)

2007-01-28  Andrew Pinski  <pinskia@gmail.com>

        PR C++/28988
        * semantics.c (finish_pseudo_destructor_expr): Check the
        destrutor name by calling check_dtor_name.

2007-01-28  Andrew Pinski  <pinskia@gmail.com>

        PR C++/28988
        * g++.dg/expr/dtor4.C: New test.

From-SVN: r121261
parent 7f9bc51b
2007-01-28 Andrew Pinski <pinskia@gmail.com>
PR C++/28988
* semantics.c (finish_pseudo_destructor_expr): Check the
destrutor name by calling check_dtor_name.
2007-01-24 Douglas Gregor <dgregor@osl.iu.edu>
* lex.c (D_CPP0X): Rename.
......
......@@ -1956,6 +1956,13 @@ finish_pseudo_destructor_expr (tree object, tree scope, tree destructor)
error ("invalid qualifying scope in pseudo-destructor name");
return error_mark_node;
}
if (scope && TYPE_P (scope) && !check_dtor_name (scope, destructor))
{
error ("qualified type %qT does not match destructor name ~%qT",
scope, destructor);
return error_mark_node;
}
/* [expr.pseudo] says both:
......
2007-01-28 Andrew Pinski <pinskia@gmail.com>
PR C++/28988
* g++.dg/expr/dtor4.C: New test.
2007-01-28 Zdenek Dvorak <dvorakz@suse.cz>
* gcc.dg/tree-ssa/loop-23.c: New test.
typedef int C;
typedef double D;
void
f ()
{
C o;
o.D::~C (); // { dg-error "" }
}
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