http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55203
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- Which are the relevant classes? It seems to me that we want to tag almost everything except a few RAII types such as std::lock_guard and std::unique_lock, which would be quite tedious. It's certainly applicable on all containers, and most streams except fstreams (which have constructors with side-effects.) I think your extend.texi change is wrong, a std::mutex that is unused is useless, its constructor and destructor don't do anything useful. A std::lock_guard that is unused is useless.