10888 – [3.3/3.4 regression] inlining failure for allocate in ~vector() (original) (raw)

| [ Reported to the Debian BTS as report #193049. Please CC 193049@bugs.debian.org on replies. Log of report can be found at http://bugs.debian.org/193049 ] This program generates warnings with 3.3 and CVS 20030501 whereas it did not with g++ 3.2: // Compile with: g++-3.3 -O -Winline essai.cpp #include using namespace std; int main(void) { vector v(10); } $ g++-3.3 -O -Winline essai.cpp essai.cpp: In member function `std::allocator<_Alloc>::~allocator() [with _Tp = int]': essai.cpp:232: instantiated from `static _Tp* std::__simple_alloc<_Tp, _Alloc>::allocate(unsigned int) [with _Tp = int, _Alloc = std::__default_alloc_template<true, 0>]' essai.cpp:233: instantiated from `_Tp* std::_Vector_alloc_base<_Tp, _Allocator, true>::_M_allocate(unsigned int) [with _Tp = int, _Allocator = std::allocator]' essai.cpp:127: instantiated from `std::_Vector_base<_Tp, _Alloc>::_Vector_base(unsigned int, typename std::_Vector_alloc_base<_Tp, _Alloc, std::_Alloc_traits<_Tp, _Allocator>::_S_instanceless>::allocator_type&) [with _Tp = int, _Alloc = std::allocator]' essai.cpp:158: instantiated from `std::vector<_Tp, _Alloc>::vector(unsigned int) [with _Tp = int, _Alloc = std::allocator]' essai.cpp:253: instantiated from here /usr/include/c++/3.3/bits/stl_alloc.h:388: warning: inlining failed in call to `static void* std::__default_alloc_template<__threads, __inst>::allocate(unsigned int) [with bool __threads = true, int __inst = 0] ' essai.cpp:232: warning: called from here essai.cpp: In member function `std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = int, _Alloc = std::allocator]': essai.cpp:242: instantiated from `static void std::__simple_alloc<_Tp, _Alloc>::deallocate(_Tp*, unsigned int) [with _Tp = int, _Alloc = std::__default_alloc_template<true, 0>]' essai.cpp:242: instantiated from `void std::_Vector_alloc_base<_Tp, _Allocator, true>::_M_deallocate(_Tp*, unsigned int) [with _Tp = int, _Allocator = std::allocator]' essai.cpp:130: instantiated from `std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = int, _Alloc = std::allocator]' essai.cpp:253: instantiated from `std::vector<_Tp, _Alloc>::vector(unsigned int) [with _Tp = int, _Alloc = std::allocator]' essai.cpp:253: instantiated from here /usr/include/c++/3.3/bits/stl_alloc.h:429: warning: inlining failed in call to `static void std::__default_alloc_template<__threads, __inst>::deallocate(void*, unsigned int) [with bool __threads = true, int __inst = 0]' essai.cpp:242: warning: called from here essai.cpp: In member function `std::vector<_Tp, _Alloc>::~vector() [with _Tp = int, _Alloc = std::allocator]': essai.cpp:242: instantiated from `static void std::__simple_alloc<_Tp, _Alloc>::deallocate(_Tp*, unsigned int) [with _Tp = int, _Alloc = std::__default_alloc_template<true, 0>]' essai.cpp:242: instantiated from `void std::_Vector_alloc_base<_Tp, _Allocator, true>::_M_deallocate(_Tp*, unsigned int) [with _Tp = int, _Allocator = std::allocator]' essai.cpp:130: instantiated from `std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = int, _Alloc = std::allocator]' essai.cpp:162: instantiated from `std::vector<_Tp, _Alloc>::~vector() [with _Tp = int, _Alloc = std::allocator]' essai.cpp:7: instantiated from here /usr/include/c++/3.3/bits/stl_alloc.h:429: warning: inlining failed in call to `static void std::__default_alloc_template<__threads, __inst>::deallocate(void*, unsigned int) [with bool __threads = true, int __inst = 0]' essai.cpp:242: warning: called from here Release: 3.3 (Debian) (Debian testing/unstable) Environment: System: Debian GNU/Linux (unstable) Architecture: i686 Comment 1 Wolfgang Bangerth 2003-05-20 21:59:17 UTC Responsible-Changed-From-To: unassigned->gdr Responsible-Changed-Why: Gaby, do you handle cases like this as well? Comment 2 Wolfgang Bangerth 2003-05-20 21:59:17 UTC State-Changed-From-To: open->analyzed State-Changed-Why: Confirmed. Rather annoying regression, since it makes -Winline useless (not that I ever understood its use fully, but if one wants to use it one certainly doesn't want to get messages from the standard libs). W. Comment 6 Mark Mitchell 2003-06-20 19:56:15 UTC Fixed in GCC 3.3.1, GCC 3.4. Comment 7 Drea Pinski 2003-08-05 04:36:56 UTC *** Bug 10816 has been marked as a duplicate of this bug. *** | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |