Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.1.2, 4.1.3, 4.1.4, 4.2.0
    • 4.2.1
    • 21. Strings
    • 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

              sebor Martin Sebor
              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