https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286342

Mark Millard <marklmi26-f...@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marklmi26-f...@yahoo.com

--- Comment #6 from Mark Millard <marklmi26-f...@yahoo.com> ---
FYI:

Note: I named things to use: -fmodules fmodules-test.cpp

# grep -r strtoll_l /usr/include/ | less
/usr/include/c++/v1/locale:    long long __ll                                  
            = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
/usr/include/c++/v1/__locale_dir/locale_base_api.h:long long strtoll_l(const
char* str, char** str_end, locale_t);
/usr/include/xlocale/_stdlib.h:long long                 strtoll_l(const char
*, char **, int, locale_t);

FYI for the /usr/include/c++/v1/locale use of strtoll_l:
template <class _Tp>
_LIBCPP_HIDE_FROM_ABI _Tp
__num_get_signed_integral(const char* __a, const char* __a_end,
ios_base::iostate& __err, int __base) {
  if (__a != __a_end) {
    __libcpp_remove_reference_t<decltype(errno)> __save_errno = errno;
    errno                                                     = 0;
    char* __p2;
    long long __ll                                               =
strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
. . .

So, as stands, only *.h headers declare strtoll_l .

I got clang++19 installed on a Linux and it got:

$ grep -r strtoll_l /usr/lib/llvm-19/include/c++/v1/
/usr/lib/llvm-19/include/c++/v1/locale:    long long __ll                      
                        = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
/usr/lib/llvm-19/include/c++/v1/__support/xlocale/__strtonum_fallback.h:inline
_LIBCPP_HIDE_FROM_ABI long long strtoll_l(const char* __nptr, char** __endptr,
int __base, locale_t) {
/usr/lib/llvm-19/include/c++/v1/__locale_dir/locale_base_api.h:long long
strtoll_l(const char* str, char** str_end, locale_t);
/usr/lib/llvm-19/include/c++/v1/__locale_dir/locale_base_api/ibm.h:inline
_LIBCPP_HIDE_FROM_ABI long long strtoll_l(const char* __nptr, char** __endptr,
int __base, locale_t locale) {
/usr/lib/llvm-19/include/c++/v1/__locale_dir/locale_base_api/musl.h:inline
_LIBCPP_HIDE_FROM_ABI long long strtoll_l(const char* __nptr, char** __endptr,
int __base, locale_t) {
/usr/lib/llvm-19/include/c++/v1/__locale_dir/locale_base_api/win32.h:#define
strtoll_l _strtoi64_l

It was able to execute:

$ clang++-19 -fmodules fmodules-test.cpp
$ 

without complaints.

But on FreeBSD [main] there was no __strtonum_fallback.h :

# find -s / -name __strtonum_fallback.h -print
#

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to