You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Travis Vitek (JIRA)" <ji...@apache.org> on 2008/02/15 23:26:07 UTC
[jira] Updated: (STDCXX-415) [gcc 3.3.3] __rw_utf8toucs4() too big
to be inlined
[ https://issues.apache.org/jira/browse/STDCXX-415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Travis Vitek updated STDCXX-415:
--------------------------------
Description:
We're getting a few warnings for the __rw_utf8toucs4() inline function indicating that the function is too big to be inlined. It might be a good idea to split it up into two, a simple inline wrapper to handle the common case for single and perhaps two-byte characters and a bigger out-of-line implementation to handle the more complicated multibyte characters.
{noformat}
c++ -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align -fPIC /amd/devco/sebor/stdcxx/src/wctype.cpp
gencat rwstderr.cat /amd/devco/sebor/stdcxx/src/rwstderr.msg
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual int
std::codecvt_byname<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&,
const char*, const char*, unsigned int) const':
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1065,
from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1621:
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual
std::codecvt_base::result std::codecvt_byname<wchar_t, char,
__mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&,
wchar_t*, wchar_t*, wchar_t*&) const':
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1396:
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
{noformat}
was:
We're getting a few warnings for the __rw_utf8toucs4() inline function indicating that the function is too big to be inlined. It might be a good idea to split it up into two, a simple inline wrapper to handle the common case for single and perhaps two-byte characters and a bigger out-of-line implementation to handle the more complicated multibyte characters.
c++ -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align -fPIC /amd/devco/sebor/stdcxx/src/wctype.cpp
gencat rwstderr.cat /amd/devco/sebor/stdcxx/src/rwstderr.msg
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual int
std::codecvt_byname<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&,
const char*, const char*, unsigned int) const':
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1065,
from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1621:
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual
std::codecvt_base::result std::codecvt_byname<wchar_t, char,
__mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&,
wchar_t*, wchar_t*, wchar_t*&) const':
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1396:
/amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
char*)'
/amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
> [gcc 3.3.3] __rw_utf8toucs4() too big to be inlined
> ---------------------------------------------------
>
> Key: STDCXX-415
> URL: https://issues.apache.org/jira/browse/STDCXX-415
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Build
> Affects Versions: 4.1.3
> Environment: gcc 3.3.3 (SuSE Linux)
> Reporter: Martin Sebor
> Assignee: Travis Vitek
> Priority: Minor
> Fix For: 4.2.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> We're getting a few warnings for the __rw_utf8toucs4() inline function indicating that the function is too big to be inlined. It might be a good idea to split it up into two, a simple inline wrapper to handle the common case for single and perhaps two-byte characters and a bigger out-of-line implementation to handle the more complicated multibyte characters.
> {noformat}
> c++ -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align -fPIC /amd/devco/sebor/stdcxx/src/wctype.cpp
> gencat rwstderr.cat /amd/devco/sebor/stdcxx/src/rwstderr.msg
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual int
> std::codecvt_byname<wchar_t, char, __mbstate_t>::do_length(__mbstate_t&,
> const char*, const char*, unsigned int) const':
> /amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
> in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
> char*)'
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
> In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1065,
> from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1621:
> /amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
> in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
> char*)'
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:964: warning: called from here
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp: In member function `virtual
> std::codecvt_base::result std::codecvt_byname<wchar_t, char,
> __mbstate_t>::do_in(__mbstate_t&, const char*, const char*, const char*&,
> wchar_t*, wchar_t*, wchar_t*&) const':
> /amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
> in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
> char*)'
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
> In file included from /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:1396:
> /amd/devco/sebor/stdcxx/include/loc/_localedef.h:735: warning: inlining failed
> in call to `const char* __rw::__rw_utf8toucs4(int*, const char*, const
> char*)'
> /amd/devco/sebor/stdcxx/src/wcodecvt.cpp:736: warning: called from here
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.