http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58822
--- Comment #19 from Paolo Carlini <paolo.carlini at oracle dot com> --- I'm pretty sure it isn't. It's easy to see why: in the testcase are you using *all* the facilities provided by std::shared_ptr as standardized? I don't think so! Thus just imagine having the class there, and commenting out all the member functions you don't use. Likewise for the free functions. Also, including <memory> means *a ton* of code which definitely has *nothing* to do with std::shared_ptr. Normally, a C++ testcase is less than 100 lines without includes. The exceptions are *extremely* rare.