http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46544
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2010-11-19 11:20:17 UTC --- I understand ;) As a general rule, if you see in the code mentioned a "DR XXX. YYY", with _GLIBCXX_RESOLVE_LIB_DEFECTS before, it means we are implementing a change beyond the letter of C++98/03, per the resolution of a successive ISO DR. For some time, many years ago, that _GLIBCXX_RESOLVE_LIB_DEFECTS was an actual macro and we tried to deliver both a vanilla C++98 and an amended version, depending on that macro, but it became quickly unmanageable, for various reasons (what to do with exported symbols, ODR, etc). Besides, according to the ISO rules, resolved DRs *are* part of the Standard in law, even if a completely new document does not exist yet.