Skip to content
  • Richard Smith's avatar
    5fd17ab1
    Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from · 5fd17ab1
    Richard Smith authored
    <string.h> and wcschr, wcspbrk, wcsrchr, wmemchr, and wcsstr from <wchar.h> to
    provide a const-correct overload set even when the underlying C library does
    not.
    
    This change adds a new macro, _LIBCPP_PREFERRED_OVERLOAD, which (if defined)
    specifies that a given overload is a better match than an otherwise equally
    good function declaration without the overload. This is implemented in modern
    versions of Clang via __attribute__((enable_if)), and not elsewhere.
    
    We use this new macro to define overloads in the global namespace for these
    functions that displace the overloads provided by the C library, unless we
    believe the C library is already providing the correct signatures.
    
    llvm-svn: 260337
    5fd17ab1
    Fix overload sets of strchr, strpbrk, strrchr, memchr and strstr from
    Richard Smith authored
    <string.h> and wcschr, wcspbrk, wcsrchr, wmemchr, and wcsstr from <wchar.h> to
    provide a const-correct overload set even when the underlying C library does
    not.
    
    This change adds a new macro, _LIBCPP_PREFERRED_OVERLOAD, which (if defined)
    specifies that a given overload is a better match than an otherwise equally
    good function declaration without the overload. This is implemented in modern
    versions of Clang via __attribute__((enable_if)), and not elsewhere.
    
    We use this new macro to define overloads in the global namespace for these
    functions that displace the overloads provided by the C library, unless we
    believe the C library is already providing the correct signatures.
    
    llvm-svn: 260337
Loading