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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Cannot Reproduce
    • 4.1.3
    • 4.2.1
    • Build and Installation
    • None
    • gcc 3.3.3 (SuSE Linux)

    • 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

            vitek Travis Vitek
            sebor Martin Sebor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            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