------- Comment #1 from paolo dot carlini at oracle dot com 2010-03-04 10:02 ------- This is illegal. You want something like:
typedef int I; I *x = new I(); x->I::~I(); which is explicitly allowed in 12.4/15. Other relevant references are 5.2.4/1 and 7.1.5.2, which says that a type-name can be either a class-name, an enum-name, or a typedef-name, nothing else. For the record, EDG-based compilers in strict-mode also reject the snippet. -- paolo dot carlini at oracle dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43253