This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
fixing inlining warnings
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: libstdc++ at gcc dot gnu dot org
- Cc: mark at codesourcery dot com
- Date: Thu, 1 May 2003 14:09:32 -0500
- Subject: fixing inlining warnings
So, with the recent inlining fixes in the compiler, there are a huge
number or warnings when building libstdc++. This only annoying, and
doesn't change codegen. (From what I understand.)
There are two routes to fix this:
1) remove -Winlining from the build
2) fix up the code.
Two is obviously preferred, but more work. Below is a (partial, perhaps
incomplete and duplicated) list of functions causing warnings.
Apparently this is now an issue on gcc and gcc-3_3-branch.
Before this is fixed correctly, can it be verified that the current
inlining strategy is not going to change much? (Thus making this change
worth it?) Or is this going to be a constantly moving line in the sand,
in which case I'll just remove the warning and let things settle. To be
honest, I'm surprised at this list of functions. Should they all be
moved out-of-line?
-benjamin
`virtual std::basic_stringbuf<char,
std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()'
`__gnu_cxx::demangler::session<Allocator>::session(const
char*, int) [with Allocator = std::allocator<char>]'
`static void std::__pool_alloc<__threads,
__inst>::deallocate(void*, unsigned int) [with bool __threads = true, int
__inst = 0]'
`static void* std::__pool_alloc<__threads,
__inst>::allocate(unsigned int) [with bool __threads = true, int __inst = 0]
'
`void std::basic_filebuf<_CharT,
_Traits>::_M_set_determinate(typename _Traits::off_type) [with _CharT =
char, _Traits = std::char_traits<char>]'
`void std::basic_filebuf<_CharT,
_Traits>::_M_destroy_pback() [with _CharT = char, _Traits =
std::char_traits<char>]'
`void std::basic_filebuf<_CharT,
_Traits>::_M_create_pback() [with _CharT = char, _Traits =
std::char_traits<char>]'
`void std::basic_ifstream<_CharT, _Traits>::open(const
char*, std::_Ios_Openmode) [with _CharT = char, _Traits =
std::char_traits<char>]'
`void std::basic_ofstream<_CharT, _Traits>::open(const
char*, std::_Ios_Openmode) [with _CharT = char, _Traits =
std::char_traits<char>]'
`void std::basic_fstream<_CharT, _Traits>::open(const
char*, std::_Ios_Openmode) [with _CharT = wchar_t, _Traits =
std::char_traits<wchar_t>]'
`std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_Alloc_hider::~_Alloc_hider()'
`std::basic_string<_CharT, _Traits,
_Alloc>::~basic_string() [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_string<_CharT, std::char_traits<_CharT>,
std::allocator<_CharT> > std::moneypunct<_CharT, _Intl>::positive_sign()
const [with _CharT = char, bool _Intl = true]'
`std::basic_string<_CharT, std::char_traits<_CharT>,
std::allocator<_CharT> > std::moneypunct<_CharT, _Intl>::negative_sign()
const [with _CharT = char, bool _Intl = true]'
`std::string std::moneypunct<_CharT, _Intl>::grouping()
const [with _CharT = char, bool _Intl = true]'
`std::string std::moneypunct<_CharT, _Intl>::grouping()
const [with _CharT = char, bool _Intl = false]'
`typename _Traits::int_type
std::istreambuf_iterator<_CharT, _Traits>::_M_get() const [with _CharT =
char, _Traits = std::char_traits<char>]'
`std::basic_string<_CharT, std::char_traits<_CharT>,
std::allocator<_CharT> > std::moneypunct<_CharT, _Intl>::curr_symbol() const
[with _CharT = char, bool _Intl = true]'
`std::basic_ostream<_CharT, _Traits>::sentry::~sentry()
[with _CharT = char, _Traits = std::char_traits<char>]'
`void std::basic_ostream<_CharT, _Traits>::_M_write(const
_CharT*, int) [with _CharT = char, _Traits = std::char_traits<char>]'
`void std::basic_stringbuf<_CharT, _Traits,
_Alloc>::_M_stringbuf_init(std::_Ios_Openmode) [with _CharT = char, _Traits
= std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_string<_CharT, _Traits, _Alloc>
std::basic_stringbuf<_CharT, _Traits, _Alloc>::str() const [with _CharT =
char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_stringbuf<_CharT, _Traits,
_Alloc>::basic_stringbuf(std::_Ios_Openmode) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_stringbuf<_CharT, _Traits,
_Alloc>::basic_stringbuf(const std::basic_string<_CharT, _Traits, _Alloc>&,
std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>,
_Alloc = std::allocator<char>]'
`_CharT* std::basic_string<_CharT, _Traits,
_Alloc>::_Rep::_M_grab(const _Alloc&, const _Alloc&) [with _CharT = char,
_Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> > std::basic_string<_CharT,
_Traits, _Alloc>::_M_check(typename _Alloc::size_type) const [with _CharT =
char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> > std::basic_string<_CharT,
_Traits, _Alloc>::_M_fold(typename _Alloc::size_type, typename
_Alloc::size_type) const [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> > std::basic_string<_CharT,
_Traits, _Alloc>::_M_iend() const [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits, _Alloc>::assign(typename
_Alloc::size_type, _CharT) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`void std::basic_string<_CharT, _Traits,
_Alloc>::_M_leak() [with _CharT = char, _Traits = std::char_traits<char>,
_Alloc = std::allocator<char>]'
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> > std::basic_string<_CharT,
_Traits, _Alloc>::end() [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`__gnu_cxx::__normal_iterator<typename
_Alloc::const_pointer, std::basic_string<_CharT, _Traits, _Alloc> >
std::basic_string<_CharT, _Traits, _Alloc>::end() const [with _CharT = char,
_Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits,
_Alloc>::replace(__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> >,
__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> >, _CharT*, _CharT*) [with _CharT
= char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
`std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits,
_Alloc>::replace(__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> >,
__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> >, const _CharT*, const _CharT*)
[with _CharT = char, _Traits = std::char_traits<char>, _Alloc =
std::allocator<char>]'
`std::basic_string<_CharT, _Traits,
_Alloc>::basic_string() [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'
`static void std::basic_string<_CharT, _Traits,
_Alloc>::_S_copy_chars(_CharT*, __gnu_cxx::__normal_iterator<typename
_Alloc::pointer, std::basic_string<_CharT, _Traits, _Alloc> >,
__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::basic_string<_CharT, _Traits, _Alloc> >) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]'