This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

STL deque implementation generates scads of warnings


[This behaviour was reported on the Debian bug tracking system; Please 
CC 46720@bugs.debian.org for replies.]

Re-tested with gcc-2.95.2's libstdc++ and libstdc++2.90 on a Debian
glibc-2.1 based system.



Package: libstdc++2.9-dev
Version: 

The implementation of the <deque.h> class generates rather a lot of
compiler warnings if you use `-Wall'.  This is bad, as it makes
`-Werror' useless.

ii  libstdc++2.9-de 2.91.60-5      The GNU stdc++ library (development files)
ii  g++             2.91.60-5      The GNU (egcs) C++ compiler.

lyonesse$ c++ -c -Wall t.cc

lyonesse$ cat t.cc
#include <deque.h>

template deque<int>;

lyonesse$ c++ -c -Wall t.cc
/usr/include/g++-2/stl_deque.h: In method `struct __deque_iterator<int,int &,int *,0> deque<int,__default_alloc_template<true,0>,0>::erase<int, alloc, 0>(struct __deque_iterator<int,int &,int *,0>, struct __deque_iterator<int,int &,int *,0>)':
/usr/include/g++-2/stl_deque.h:420:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::operator =<int, alloc, 0>(const deque<int,__default_alloc_template<true,0>,0> &)'
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:747: warning: comparison between signed and unsigned
/usr/include/g++-2/stl_deque.h: In method `void deque<int,__default_alloc_template<true,0>,0>::reserve_map_at_front<int, alloc, 0>(unsigned int = 1)':
/usr/include/g++-2/stl_deque.h:1219:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::new_elements_at_front<int, alloc, 0>(unsigned int)'
/usr/include/g++-2/stl_deque.h:609:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::reserve_elements_at_front<int, alloc, 0>(unsigned int)'
/usr/include/g++-2/stl_deque.h:947:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<__deque_iterator<int,const int &,const int &,0>>(__deque_iterator<int,int &,int *,0>, __deque_iterator<int,const int &,const int &,0>, __deque_iterator<int,const int &,const int &,0>, forward_iterator_tag)'
/usr/include/g++-2/stl_deque.h:508:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<__deque_iterator<int,const int &,const int &,0>>(__deque_iterator<int,int &,int *,0>, __deque_iterator<int,const int &,const int &,0>, __deque_iterator<int,const int &,const int &,0>)'
/usr/include/g++-2/stl_deque.h:424:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::operator =<int, alloc, 0>(const deque<int,__default_alloc_template<true,0>,0> &)'
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:638: warning: comparison between signed and unsigned
/usr/include/g++-2/stl_deque.h: In method `void deque<int,__default_alloc_template<true,0>,0>::insert_aux<__deque_iterator<int,const int &,const int &,0>>(struct __deque_iterator<int,int &,int *,0>, struct __deque_iterator<int,const int &,const int &,0>, struct __deque_iterator<int,const int &,const int &,0>, unsigned int)':
/usr/include/g++-2/stl_deque.h:963:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<__deque_iterator<int,const int &,const int &,0>>(__deque_iterator<int,int &,int *,0>, __deque_iterator<int,const int &,const int &,0>, __deque_iterator<int,const int &,const int &,0>, forward_iterator_tag)'
/usr/include/g++-2/stl_deque.h:508:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<__deque_iterator<int,const int &,const int &,0>>(__deque_iterator<int,int &,int *,0>, __deque_iterator<int,const int &,const int &,0>, __deque_iterator<int,const int &,const int &,0>)'
/usr/include/g++-2/stl_deque.h:424:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::operator =<int, alloc, 0>(const deque<int,__default_alloc_template<true,0>,0> &)'
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:1059: warning: comparison between signed and unsigned
/usr/include/g++-2/stl_deque.h: In method `struct __deque_iterator<int,int &,int *,0> deque<int,__default_alloc_template<true,0>,0>::insert_aux<int, alloc, 0>(struct __deque_iterator<int,int &,int *,0>, const int &)':
/usr/include/g++-2/stl_deque.h:489:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<int, alloc, 0>(__deque_iterator<int,int &,int *,0>, const int &)'
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:973: warning: comparison between signed and unsigned
/usr/include/g++-2/stl_deque.h: In method `void deque<int,__default_alloc_template<true,0>,0>::insert_aux<int, alloc, 0>(struct __deque_iterator<int,int &,int *,0>, unsigned int, const int &)':
/usr/include/g++-2/stl_deque.h:679:   instantiated from `deque<int,__default_alloc_template<true,0>,0>::insert<int, alloc, 0>(__deque_iterator<int,int &,int *,0>, unsigned int, const int &)'
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:1003: warning: comparison between signed and unsigned
/usr/include/g++-2/stl_deque.h: In method `struct __deque_iterator<int,int &,int *,0> deque<int,__default_alloc_template<true,0>,0>::erase<int, alloc, 0>(struct __deque_iterator<int,int &,int *,0>)':
t.cc:3:   instantiated from here
/usr/include/g++-2/stl_deque.h:533: warning: comparison between signed and unsigned



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]