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]