libcxx: update to LLVM 18

release/18.x branch, commit 78b99c73ee4b96fe9ce0e294d4632326afb2db42

This adds the flag `-D_LIBCPP_HARDENING_MODE` which is determined based
on the Zig optimization mode.

This commit also fixes libunwind, libcxx, and libcxxabi to properly
report sub compilation errors.
This commit is contained in:
Andrew Kelley
2024-04-26 15:33:29 -07:00
parent bc6ebc6f25
commit 06ee65af9e
902 changed files with 80977 additions and 107576 deletions

View File

@@ -8,18 +8,15 @@
#include <__availability>
#include <optional>
#include <stdexcept>
namespace std
{
namespace std {
bad_optional_access::~bad_optional_access() noexcept = default;
const char* bad_optional_access::what() const noexcept {
return "bad_optional_access";
}
} // std
const char* bad_optional_access::what() const noexcept { return "bad_optional_access"; }
} // namespace std
#include <experimental/__config>
@@ -27,9 +24,7 @@ const char* bad_optional_access::what() const noexcept {
// Even though it no longer exists in a header file
_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access
: public std::logic_error
{
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS bad_optional_access : public std::logic_error {
public:
bad_optional_access() : std::logic_error("Bad optional Access") {}