Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.2, 4.1.3, 4.1.4, 4.2.0
    • Fix Version/s: 4.2.1
    • Component/s: 21. Strings
    • Labels:
      None

      Description

      The following gcc builtin equivalents of the C string functions would be useful in the implementation of std::char_traits:

      __builtin_memcpy: char_traits::copy()
      __builtin_memcmp: char_traits::compare()
      __builtin_memmove: char_traits::move()
      __builtin_memset: char_traits::assign()
      __builtin_strlen: char_traits::length()

      Unfortunately, as of gcc 4.2.2, there is no builtin equivalent of memchr() which is used in char_traits::find(), so using the builtins won't let us get away from #including the <cstring> header to bring in the declaration of the function (thus reducing namespace pollution caused by all the other symbols declared in the header).

      There also are no builtins for the wide character counterparts of any of these functions (such as wmemcmp or wcslen).

      See the following page for more details:
      http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Other-Builtins.html#Other-Builtins

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sebor Martin Sebor
                Reporter:
                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
                  2h
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h
                  2h