libcxx: Add missing implementation source files (#1089)

Added the implementation for `std::bad_any_cast` from upstream
`any.cpp`, and `std::bad_variant_access` from upstream `variant.cpp`.

This fixes missing `vtable` and `typeinfo` symbols when trying to link
code referencing these exception types.
This commit is contained in:
Trung Nguyen 2024-01-18 23:20:25 +07:00 committed by GitHub
parent 1ef63eb206
commit 8834dde0c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 53 additions and 0 deletions

17
third_party/libcxx/variant.cc vendored Normal file
View file

@ -0,0 +1,17 @@
//===------------------------ variant.cpp ---------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "third_party/libcxx/variant"
namespace std {
const char* bad_variant_access::what() const noexcept {
return "bad_variant_access";
}
} // namespace std