I use a uclibc-ng (1.0.39 - armv7) based toolchain (gcc-11.2) to compile llvm13 (clang, lld, and lldb).  clang, lld, and lldb all work fine. I have locale and xlocale enabled in uclibc-ng but run into this issue below when trying to compile libcxx/libcxxabi. In other places in the code llvm is uclibc aware (__UCLIBC__), but here I guess no-one has compiled libcxx/libcxxabi with uclibc, and it has no __UCLIBC__ designation. Since I think uclibc also defines __GLIBC__ it's following that path but in the case of locale not correct for uclibc. Was wondering if any anyone could help out here figure what uclibc-ng should do for these lines of code.

thanks,
Lance



/home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:1141:32: error: invalid use of incomplete type ‘struct __uclibc_locale_struct’
 1141 |     return _LIBCPP_GET_C_LOCALE->__ctype_b;
      |                                ^~
In file included from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/xlocale.h:42,                  from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/wchar.h:163,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/wchar.h:119,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/iosfwd:98,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/__debug:14,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/string:519,                  from /home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:15: /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/bits/uClibc_locale.h:75:8: note: forward declaration of ‘struct __uclibc_locale_struct’
   75 | struct __uclibc_locale_struct;
      |        ^~~~~~~~~~~~~~~~~~~~~~
/home/user/src/llvm/llvm-project/libcxx/src/locale.cpp: In static member function ‘static const int* std::__1::ctype<char>::__classic_lower_table()’: /home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:1168:32: error: invalid use of incomplete type ‘struct __uclibc_locale_struct’
 1168 |     return _LIBCPP_GET_C_LOCALE->__ctype_tolower;
      |                                ^~
In file included from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/xlocale.h:42,                  from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/wchar.h:163,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/wchar.h:119,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/iosfwd:98,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/__debug:14,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/string:519,                  from /home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:15: /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/bits/uClibc_locale.h:75:8: note: forward declaration of ‘struct __uclibc_locale_struct’
   75 | struct __uclibc_locale_struct;
      |        ^~~~~~~~~~~~~~~~~~~~~~
/home/user/src/llvm/llvm-project/libcxx/src/locale.cpp: In static member function ‘static const int* std::__1::ctype<char>::__classic_upper_table()’: /home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:1174:32: error: invalid use of incomplete type ‘struct __uclibc_locale_struct’
 1174 |     return _LIBCPP_GET_C_LOCALE->__ctype_toupper;
      |                                ^~
In file included from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/xlocale.h:42,                  from /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/wchar.h:163,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/wchar.h:119,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/iosfwd:98,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/__debug:14,                  from /home/user/src/llvm/llvm-project/build/include/c++/v1/string:519,                  from /home/user/src/llvm/llvm-project/libcxx/src/locale.cpp:15: /opt/arm/arm-linux-uclibcgnueabi/sysroot/usr/include/bits/uClibc_locale.h:75:8: note: forward declaration of ‘struct __uclibc_locale_struct’
   75 | struct __uclibc_locale_struct;
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to