Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-415

[gcc 3.3.3] __rw_utf8toucs4() too big to be inlined

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: 4.1.3
    • Fix Version/s: 4.2.1
    • Component/s: Build and Installation
    • Labels:
      None
    • Environment:

      gcc 3.3.3 (SuSE Linux)

    • Severity:
      Compiler Warning

      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.

      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
      

        Attachments

          Activity

            People

            • Assignee:
              vitek Travis Vitek
              Reporter:
              sebor Martin Sebor

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2h Original Estimate - 2h
                2h
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h 2m
                4h 2m

                  Issue deployment