Consider the following program: #include <deque>
void f() { std::deque<int> d; d.push_back(1); } -Wconversion now (as of 2007-01-14) triggers the following warning in the libstdc++ headers: /suse/gp/gcc-i686/lib/gcc/i686-suse-linux/4.3.0/../../../../include/c++/4.3.0/bits/deque.tcc: In member function 'void std::deque<_Tp, _Alloc>::_M_reallocate_map(size_t, bool) [with _Tp = int, _Alloc = std::allocator<int>]': /suse/gp/gcc-i686/lib/gcc/i686-suse-linux/4.3.0/../../../../include/c++/4.3.0/bits/stl_deque.h:1520: instantiated from 'void std::deque<_Tp, _Alloc>::_M_reserve_map_at_back(size_t) [with _Tp = int, _Alloc = std::allocator<int>]' /suse/gp/gcc-i686/lib/gcc/i686-suse-linux/4.3.0/../../../../include/c++/4.3.0/bits/deque.tcc:308: instantiated from 'void std::deque<_Tp, _Alloc>::_M_push_back_aux(const _Tp&) [with _Tp = int, _Alloc = std::allocator<int>]' /suse/gp/gcc-i686/lib/gcc/i686-suse-linux/4.3.0/../../../../include/c++/4.3.0/bits/stl_deque.h:1062: instantiated from 'void std::deque<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = int, _Alloc = std::allocator<int>]' x.cc:6: instantiated from here /suse/gp/gcc-i686/lib/gcc/i686-suse-linux/4.3.0/../../../../include/c++/4.3.0/bits/deque.tcc:714: warning: conversion to 'size_t' from 'int' may alter its value -- Summary: [regression] -Wconversion triggers warnings for deque<> Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gerald at pfeifer dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30464