-Winline: function body not available

Martin Sebor sebor@roguewave.com
Sat Mar 26 00:59:00 GMT 2005

Could someone help me understand what's causing the following
warning so that I can silence it? Gcc 3.4.3 emits it for an
implicitly inline one-line definition of the function (ctor,
actually, see below), so I'm not sure what the "function body
not available" bit is supposed to mean. The base ctor is also
a one liner defined completely inline. The base derives from
two other class, one of whose ctor is outlined and the other
is trivial (i.e., compiler generated).

I've searched Bugzilla but couldn't find anything relevant.


_codecvt.h:436:line: warning: inlining failed in call to 
'std::codecvt_byname<_InternT, _ExternT, _StateT>::codecvt_byname(const 
char*, unsigned int) [with _InternT = char, _ExternT = char, _StateT = 
mbstate_t]': function body not available
codecvt.cpp:262: warning: called from here

template <class _InternT, class _ExternT, class _StateT>
class codecvt_byname: public codecvt<_InternT, _ExternT, _StateT>
     char _C_namebuf [32];


     typedef _InternT intern_type;
     typedef _ExternT extern_type;
     typedef _StateT  state_type;

     _EXPLICIT codecvt_byname (const char *__name, _RWSTD_SIZE_T __ref = 0)
         : codecvt <_InternT, _ExternT, _StateT> (__ref) {
         this->_C_set_name (__name, _C_namebuf, sizeof _C_namebuf);

More information about the Gcc-bugs mailing list