http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53584
--- Comment #2 from Ling Li <liling at gmail dot com> 2012-06-05 20:59:24 UTC --- You are right. My bad. I thought having a user-declared destructor would be different than having a user-declared constructor, and the fact that GCC 4.6 accepted the code doubled my belief. I should have checked the standard. Thanks for your time.