We changed the abort calls when trying to throw exceptions in -fno-exceptions mode to __verbose_abort calls, which removes the dependency in most files.
Details
Details
- Reviewers
ldionne Mordante - Group Reviewers
Restricted Project - Commits
- rG75196f8e72be: [libc++] Remove <cstdlib> includes
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Can you explain that those are not necessary anymore since we moved to __verbose_abort in your commit message? Thanks for the patch, LGTM!
Comment Actions
Hm, seems the actual error is:
In file included from <module-includes>:34: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/complex.h:27: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/ccomplex:21: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/complex:242: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/sstream:191: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/istream:169: In file included from /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/ostream:178: /home/buildkite/.buildkite-agent/builds/freebsd-test-1/llvm-project/libcxx-ci/build/generic-cxx2b/include/c++/v1/locale:762:26: error: use of undeclared identifier 'strtoll_l'; did you mean 'wcstoll_l'? long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE); ^
so it could be that we define strtoll_l in an unexpected place. As far as I remember our locale headers were slightly different from other systems... I can't look for a fix right now as it's too late here, but maybe @emaste has some time :)
Comment Actions
Our definition is in /usr/include/xlocale/_stdlib.h which has the comment:
/* * Extended locale versions of the locale-aware functions from stdlib.h. * * Include <stdlib.h> before <xlocale.h> to expose these. */ ... long long strtoll_l(const char *, char **, int, locale_t); ...
/usr/include/xlocal.h:
#ifdef _STDLIB_H_ #include <xlocale/_stdlib.h> #endif
but there is also this in stdlib.h:
#ifdef _XLOCALE_H_ #include <xlocale/_stdlib.h> #endif
which was added in:
commit 3ac9d659890471a1936268bfec06e74caf9025df Author: David Chisnall <theraven@FreeBSD.org> Date: Wed Mar 28 12:11:54 2012 +0000 Correctly expose xlocale functions if people include the headers in the wrong order (as some ports apparently do). Approved by: dim (mentor) Notes: svn path=/head/; revision=233600