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 
&#8216;std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const 
std::vector<_Tp, _Alloc>&) 
[with _Tp = GpgME::Key, _Alloc = std::allocator<GpgME::Key>]&#8217;: 
/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 &#8216;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>]&#8217; 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 &#8216;_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*]&#8217; 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

Reply via email to