------- Comment #20 from redi at gcc dot gnu dot org 2010-05-27 10:55 ------- I have a patch which causes an error if std::shared_ptr or std::tr1::shared_ptr is constructed with a pointer to incomplete type and no custom deleter. I'm not sure what the best approach is for auto_ptr. Technically it's invalid to instantiate auto_ptr with an incomplete type, but in practice only reset() and ~auto_ptr() need the complete type. I can make it an error to instantiate those members with an incomplete type, but that could break some invalid programs which previously compiled with a warning and ran (with undefined behaviour) For now I'll make the shared_ptr changes...
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43820