[gcc 3.4.6] __rw_itoutf8() too big to be inlined
------------------------------------------------

                 Key: STDCXX-741
                 URL: https://issues.apache.org/jira/browse/STDCXX-741
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 27. Input/Output
         Environment: gcc version 3.4.5 20060404 (Red Hat 3.4.6-3)
            Reporter: Travis Vitek


I get the following warning when building 12[d,D] on trunk.

{noformat}
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h: In member function 
`virtual std::basic_string<wchar_t, std::char_traits<wchar_t>, 
std::allocator<wchar_t> > std::collate_byname<wchar_t>::do_transform(const 
wchar_t*, const wchar_t*) const':
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:325: warning: called from here
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:369: warning: called from here
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:1174: warning: called from here
In file included from /amd/devco/vitek/stdcxx/trunk/src/collate.cpp:1152:
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:325: warning: called from here
In file included from /amd/devco/vitek/stdcxx/trunk/src/collate.cpp:1155:
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:369: warning: called from here
/amd/devco/vitek/stdcxx/trunk/include/loc/_localedef.h:685: warning: inlining 
failed in call to 'long unsigned int __rw::__rw_itoutf8(unsigned int, char*)': 
--param inline-unit-growth limit reached
/amd/devco/vitek/stdcxx/trunk/src/collate.cpp:1174: warning: called from here
{noformat}

This issue is very similar to STDCXX-415. The __rw_itoutf8() function and 
__rw_utf8toucs4() functions are nearly the same and both are found in the same 
area of include/loc/_localedef.h. It appears that something has changed that 
has moved the warning. Perhaps we should consider fixing both functions or just 
silencing the warning.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to