stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Travis Vitek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-415) [gcc 3.3.3] __rw_utf8toucs4() too big to be inlined
Date Tue, 26 Feb 2008 22:00:53 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572685#action_12572685
] 

Travis Vitek commented on STDCXX-415:
-------------------------------------

The function is inlined into __rw_libstd_do_in() in -O1 builds. The function __rw_libstd_do_in()
and its callee __rw_utf8toucs4() are inlined into codecvt_byname<>::do_in() with -O2
builds.

> [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.


Mime
View raw message