STL warnings/errors in gcc was always a mess but with gcc4 I see they are now really impossible to understand. Here is an excerpt : 90% compiling /opt/development/kde/KDE/kdepim/certmanager/lib/kleo/multideletejob.cpp /usr/lib/gcc/x86_64-linux/4.0.1/../../../../include/c++/4.0.1/bits/vector.tcc: In member function ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = GpgME::Key, _Alloc = std::allocator<GpgME::Key>]’: /usr/lib/gcc/x86_64-linux/4.0.1/../../../../include/c++/4.0.1/bits/vector.tcc:141: warning: control may reach end of non-void function ‘typename _Alloc::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(size_t, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const GpgME::Key*, std::vector<GpgME::Key, std::allocator<GpgME::Key> > >, _Tp = GpgME::Key, _Alloc = std::allocator<GpgME::Key>]’ being inlined /usr/lib/gcc/x86_64-linux/4.0.1/../../../../include/c++/4.0.1/bits/stl_uninitialized.h:113: warning: control may reach end of non-void function ‘_ForwardIterator std::__uninitialized_copy_aux(_InputIterator, _InputIterator, _ForwardIterator, __false_type) [with _InputIterator = __gnu_cxx::__normal_iterator<const GpgME::Key*, std::vector<GpgME::Key, std::allocator<GpgME::Key> > >, _ForwardIterator = GpgME::Key*]’ being inlined As you can see in the warning I can't see which function is problematic. I only see references to STL headers installed by gcc which is useless.
-- Summary: STL warnings/errors are impossible to understand Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ismail at kde dot org dot tr CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21572