http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39728
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-04-16 11:10:07 UTC --- Maybe the most widely used term is "compiler-generated" but I prefer implicity defined. (In reply to comment #2) > * Do not show "In member function", it clutters the output and it is > duplicated > info because they are already mentioned in the note. I'm not sure about this suggestion. /home/redi/gcc/4.x/include/c++/4.8.0/bits/ios_base.h: In member function 'std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)': This is useful info, it tells me the (implicitly-defined) context in which the private operator= was needed. /home/redi/gcc/4.x/include/c++/4.8.0/bits/ios_base.h:791:5: error: 'std::ios_base& std::ios_base::operator=(const std::ios_base&)' is private operator=(const ios_base&); ^ This is useful, it's the private operator= that was needed, but inaccessible. In file included from /home/redi/gcc/4.x/include/c++/4.8.0/ios:45:0, from /home/redi/gcc/4.x/include/c++/4.8.0/istream:40, from /home/redi/gcc/4.x/include/c++/4.8.0/fstream:40, from f.cc:1: /home/redi/gcc/4.x/include/c++/4.8.0/bits/basic_ios.h:64:11: error: within this context class basic_ios : public ios_base ^ The caret diagnostic is useless here, because an implictly-defined function has no location.