libstdc++: [_GLIBCXX_DEBUG] Remove useless constructor checks     Creating a safe iterator from a normal iterator is done within the library where we     already know that it is done correctly. The rare situation where a user would use safe     iterators for his own purpose is non-Standard code so outside _GLIBCXX_DEBUG scope. For     those reasons the __msg_init_singular is useless and can be removed.     Additionally in the copy constructor used for post-increment and post-decrement operators     the __msg_init_copy_singular check can also be ommitted because of the preliminary     __msg_bad_inc and __msg_bad_dec checks.     libstdc++-v3/ChangeLog:             * include/debug/safe_iterator.h (_Safe_iterator<>::_Unsafe_call): New.             (_Safe_iterator(const _Safe_iterator&, _Unsafe_call): New.             (_Safe_iterator::operator++(int)): Use latter.             (_Safe_iterator::operator--(int)): Likewise.             (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()             check.             * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unsafe_call):             New.             (_Safe_local_iterator(const _Safe_local_iterator&, _Unsafe_call): New.             (_Safe_local_iterator::operator++(int)): Use latter.             * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id             entry associated to the array entry. Tested under Linux x64. Ok to commit ? François