[libc++][NFC] Use llvm.org/PR to link to bug reports (#156288)
We've built up quite a few links directly to github within the code base. We should instead use `llvm.org/PR<issue-number>` to link to bugs, since that is resilient to the bug tracker changing in the future. This is especially relevant for tests linking to bugs, since they will probably be there for decades to come. A nice side effect is that these links are significantly shorter than the GH links, making them much less of an eyesore. This patch also replaces a few links that linked to the old bugzilla instance on llvm.org.
This commit is contained in:
parent
e8fa13ca4e
commit
34d4f0c136
@ -361,8 +361,7 @@ endif()
|
||||
if (NOT LIBCXX_ENABLE_RTTI AND LIBCXX_ENABLE_EXCEPTIONS)
|
||||
message(FATAL_ERROR "Libc++ cannot be built with exceptions enabled but RTTI"
|
||||
" disabled, since that configuration is broken. See"
|
||||
" https://github.com/llvm/llvm-project/issues/66117"
|
||||
" for details.")
|
||||
" https://llvm.org/PR66117 for details.")
|
||||
endif()
|
||||
|
||||
if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
|
||||
|
||||
@ -72,7 +72,7 @@ Some of the current limitations
|
||||
* Clang:
|
||||
* Including headers after importing the ``std`` module may fail. This is
|
||||
hard to solve and there is a work-around by first including all headers
|
||||
`bug report <https://github.com/llvm/llvm-project/issues/61465>`__.
|
||||
`bug report <https://llvm.org/PR61465>`__.
|
||||
|
||||
Blockers
|
||||
~~~~~~~~
|
||||
@ -88,8 +88,7 @@ Blockers
|
||||
|
||||
* Clang
|
||||
|
||||
* Some concepts do not work properly
|
||||
`bug report <https://github.com/llvm/llvm-project/issues/62943>`__.
|
||||
* Some concepts do not work properly `bug report <https://llvm.org/PR61465>`__.
|
||||
|
||||
|
||||
Using in external projects
|
||||
|
||||
@ -38,9 +38,9 @@ What's New in Libc++ 22.0.0?
|
||||
Implemented Papers
|
||||
------------------
|
||||
|
||||
- P2321R2: ``zip`` (`Github <https://github.com/llvm/llvm-project/issues/105169>`__) (The paper is partially
|
||||
implemented. ``zip_transform_view`` is implemented in this release)
|
||||
- P3168R2: Give ``std::optional`` Range Support (`Github <https://github.com/llvm/llvm-project/issues/105430>`__)
|
||||
- P2321R2: ``zip`` (`Github <https://llvm.org/PR105169>`__) (The paper is partially implemented. ``zip_transform_view``
|
||||
is implemented in this release)
|
||||
- P3168R2: Give ``std::optional`` Range Support (`Github <https://llvm.org/PR105430>`__)
|
||||
|
||||
Improvements and New Features
|
||||
-----------------------------
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
"`P0013R1 <https://wg21.link/P0013R1>`__","Logical type traits rev 2","2015-10 (Kona)","|Complete|","3.8",""
|
||||
"","","","","",""
|
||||
"`P0024R2 <https://wg21.link/P0024R2>`__","The Parallelism TS Should be Standardized","2016-02 (Jacksonville)","|Partial|","",""
|
||||
"`P0226R1 <https://wg21.link/P0226R1>`__","Mathematical Special Functions for C++17","2016-02 (Jacksonville)","|In Progress|","","Progress is tracked `here <https://github.com/llvm/llvm-project/issues/99939>`__"
|
||||
"`P0226R1 <https://wg21.link/P0226R1>`__","Mathematical Special Functions for C++17","2016-02 (Jacksonville)","|In Progress|","","Progress is tracked `here <https://llvm.org/PR99939>`__"
|
||||
"`P0220R1 <https://wg21.link/P0220R1>`__","Adopt Library Fundamentals V1 TS Components for C++17","2016-02 (Jacksonville)","|Complete|","16",""
|
||||
"`P0218R1 <https://wg21.link/P0218R1>`__","Adopt the File System TS for C++17","2016-02 (Jacksonville)","|Complete|","7",""
|
||||
"`P0033R1 <https://wg21.link/P0033R1>`__","Re-enabling shared_from_this","2016-02 (Jacksonville)","|Complete|","3.9",""
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
"`P0777R1 <https://wg21.link/P0777R1>`__","Treating Unnecessary ``decay``\ ","2017-11 (Albuquerque)","|Complete|","7",""
|
||||
"","","","","",""
|
||||
"`P0122R7 <https://wg21.link/P0122R7>`__","<span>","2018-03 (Jacksonville)","|Complete|","7",""
|
||||
"`P0355R7 <https://wg21.link/P0355R7>`__","Extending chrono to Calendars and Time Zones","2018-03 (Jacksonville)","|Partial|","","See the `Github issue <https://github.com/llvm/llvm-project/issues/99982>`__ for detailed status"
|
||||
"`P0355R7 <https://wg21.link/P0355R7>`__","Extending chrono to Calendars and Time Zones","2018-03 (Jacksonville)","|Partial|","","See the `Github issue <https://llvm.org/PR99982>`__ for detailed status"
|
||||
"`P0551R3 <https://wg21.link/P0551R3>`__","Thou Shalt Not Specialize ``std``\ Function Templates!","2018-03 (Jacksonville)","|Complete|","11",""
|
||||
"`P0753R2 <https://wg21.link/P0753R2>`__","Manipulators for C++ Synchronized Buffered Ostream","2018-03 (Jacksonville)","","",""
|
||||
"`P0754R2 <https://wg21.link/P0754R2>`__","<version>","2018-03 (Jacksonville)","|Complete|","7",""
|
||||
|
||||
|
@ -123,7 +123,7 @@ template <class _Tp, size_t _Np>
|
||||
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_set(__simd_vector<_Tp, _Np> __vec) noexcept {
|
||||
using __mask_vec = __simd_vector<bool, _Np>;
|
||||
|
||||
// This has MSan disabled du to https://github.com/llvm/llvm-project/issues/85876
|
||||
// This has MSan disabled du to https://llvm.org/PR85876
|
||||
auto __impl = [&]<class _MaskT>(_MaskT) _LIBCPP_NO_SANITIZE("memory") noexcept {
|
||||
# if defined(_LIBCPP_BIG_ENDIAN)
|
||||
return std::min<size_t>(
|
||||
|
||||
@ -350,7 +350,7 @@ private:
|
||||
// &Context.getTargetInfo().getLongDoubleFormat() ==
|
||||
// &llvm::APFloat::x87DoubleExtended())
|
||||
// For more info
|
||||
// https://github.com/llvm/llvm-project/issues/68602
|
||||
// https://llvm.org/PR68602
|
||||
// https://reviews.llvm.org/D53965
|
||||
return !__is_fp80_long_double();
|
||||
# endif
|
||||
@ -367,7 +367,7 @@ private:
|
||||
while (!__self.compare_exchange_weak(__old, __new, __m, memory_order_relaxed)) {
|
||||
# ifdef _LIBCPP_COMPILER_CLANG_BASED
|
||||
if constexpr (__is_fp80_long_double()) {
|
||||
// https://github.com/llvm/llvm-project/issues/47978
|
||||
// https://llvm.org/PR47978
|
||||
// clang bug: __old is not updated on failure for atomic<long double>::compare_exchange_weak
|
||||
// Note __old = __self.load(memory_order_relaxed) will not work
|
||||
std::__cxx_atomic_load_inplace(std::addressof(__self.__a_), std::addressof(__old), memory_order_relaxed);
|
||||
|
||||
@ -111,8 +111,8 @@
|
||||
// We had some bugs where we use [[no_unique_address]] together with construct_at,
|
||||
// which causes UB as the call on construct_at could write to overlapping subobjects
|
||||
//
|
||||
// https://github.com/llvm/llvm-project/issues/70506
|
||||
// https://github.com/llvm/llvm-project/issues/70494
|
||||
// https://llvm.org/PR70506
|
||||
// https://llvm.org/PR70494
|
||||
//
|
||||
// To fix the bug we had to change the ABI of some classes to remove [[no_unique_address]] under certain conditions.
|
||||
// The macro below is used for all classes whose ABI have changed as part of fixing these bugs.
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
//
|
||||
// We also allow users to force-disable availability markup via the `_LIBCPP_DISABLE_AVAILABILITY`
|
||||
// macro because that is the only way to work around a Clang bug related to availability
|
||||
// attributes: https://github.com/llvm/llvm-project/issues/134151.
|
||||
// attributes: https://llvm.org/PR134151.
|
||||
// Once that bug has been fixed, we should remove the macro.
|
||||
#if defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCXXABI_BUILDING_LIBRARY) || \
|
||||
!defined(_LIBCPP_COMPILER_CLANG_BASED) || defined(_LIBCPP_DISABLE_AVAILABILITY)
|
||||
@ -307,7 +307,7 @@
|
||||
// This controls the availability of the C++17 std::pmr library,
|
||||
// which is implemented in large part in the built library.
|
||||
//
|
||||
// TODO: Enable std::pmr markup once https://github.com/llvm/llvm-project/issues/40340 has been fixed
|
||||
// TODO: Enable std::pmr markup once https://llvm.org/PR40340 has been fixed
|
||||
// Until then, it is possible for folks to try to use `std::pmr` when back-deploying to targets that don't support
|
||||
// it and it'll be a load-time error, but we don't have a good alternative because the library won't compile if we
|
||||
// use availability annotations until that bug has been fixed.
|
||||
|
||||
@ -116,8 +116,7 @@ public:
|
||||
// These operations check that the iterator is dereferenceable. Since the class invariant is
|
||||
// that the iterator is always within `[begin, end]`, we only need to check it's not pointing to
|
||||
// `end`. This is easier for the optimizer because it aligns with the `iter != container.end()`
|
||||
// checks that typical callers already use (see
|
||||
// https://github.com/llvm/llvm-project/issues/78829).
|
||||
// checks that typical callers already use (see https://llvm.org/PR78829).
|
||||
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 reference operator*() const _NOEXCEPT {
|
||||
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(
|
||||
__current_ != __end_, "__bounded_iter::operator*: Attempt to dereference an iterator at the end");
|
||||
|
||||
@ -118,7 +118,7 @@ concept __signed_integer_like = signed_integral<_Tp>;
|
||||
|
||||
template <class _Ip>
|
||||
concept weakly_incrementable =
|
||||
// TODO: remove this once the clang bug is fixed (bugs.llvm.org/PR48173).
|
||||
// TODO: remove this once the clang bug is fixed (https://llvm.org/PR48173).
|
||||
!same_as<_Ip, bool> && // Currently, clang does not handle bool correctly.
|
||||
movable<_Ip> && requires(_Ip __i) {
|
||||
typename iter_difference_t<_Ip>;
|
||||
|
||||
@ -53,7 +53,7 @@ inline _LIBCPP_HIDE_FROM_ABI __promote_t<_A1, _A2> hypot(_A1 __x, _A2 __y) _NOEX
|
||||
// Computes the three-dimensional hypotenuse: `std::hypot(x,y,z)`.
|
||||
// The naive implementation might over-/underflow which is why this implementation is more involved:
|
||||
// If the square of an argument might run into issues, we scale the arguments appropriately.
|
||||
// See https://github.com/llvm/llvm-project/issues/92782 for a detailed discussion and summary.
|
||||
// See https://llvm.org/PR92782 for a detailed discussion and summary.
|
||||
template <class _Real>
|
||||
_LIBCPP_HIDE_FROM_ABI _Real __hypot(_Real __x, _Real __y, _Real __z) {
|
||||
// Factors needed to determine if over-/underflow might happen
|
||||
|
||||
@ -52,7 +52,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
||||
//
|
||||
// Furthermore, that alignment must be the same as what was used in the old __compressed_pair layout, so we must
|
||||
// handle reference types specially since alignof(T&) == alignof(T).
|
||||
// See https://github.com/llvm/llvm-project/issues/118559.
|
||||
// See https://llvm.org/PR118559.
|
||||
|
||||
#ifndef _LIBCPP_ABI_NO_COMPRESSED_PAIR_PADDING
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
#include <__bit_reference>
|
||||
#include <__config>
|
||||
#include <__functional/unary_function.h>
|
||||
#include <__fwd/bit_reference.h> // TODO: This is a workaround for https://github.com/llvm/llvm-project/issues/131814
|
||||
#include <__fwd/bit_reference.h> // TODO: This is a workaround for https://llvm.org/PR131814
|
||||
#include <__fwd/functional.h>
|
||||
#include <__fwd/vector.h>
|
||||
#include <__iterator/distance.h>
|
||||
|
||||
@ -842,7 +842,7 @@ module std [system] {
|
||||
module stable_partition { header "__algorithm/stable_partition.h" }
|
||||
module stable_sort {
|
||||
header "__algorithm/stable_sort.h"
|
||||
export std.memory.unique_temporary_buffer // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
|
||||
export std.memory.unique_temporary_buffer // TODO: Workaround for https://llvm.org/PR120108
|
||||
}
|
||||
module swap_ranges { header "__algorithm/swap_ranges.h" }
|
||||
module three_way_comp_ref_type { header "__algorithm/three_way_comp_ref_type.h" }
|
||||
@ -1260,7 +1260,7 @@ module std [system] {
|
||||
module directory_entry { header "__filesystem/directory_entry.h" }
|
||||
module directory_iterator {
|
||||
header "__filesystem/directory_iterator.h"
|
||||
// This is a workaround for https://github.com/llvm/llvm-project/issues/120108.
|
||||
// This is a workaround for https://llvm.org/PR120108.
|
||||
export *
|
||||
}
|
||||
module directory_options { header "__filesystem/directory_options.h" }
|
||||
@ -1637,7 +1637,7 @@ module std [system] {
|
||||
module allocation_guard { header "__memory/allocation_guard.h" }
|
||||
module allocator {
|
||||
header "__memory/allocator.h"
|
||||
export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
|
||||
export * // TODO: Workaround for https://llvm.org/PR120108
|
||||
}
|
||||
module allocator_arg_t { header "__memory/allocator_arg_t.h" }
|
||||
module allocator_destructor { header "__memory/allocator_destructor.h" }
|
||||
@ -1682,7 +1682,7 @@ module std [system] {
|
||||
header "__memory/unique_temporary_buffer.h"
|
||||
export std.memory.unique_ptr
|
||||
export std_core.type_traits.is_constant_evaluated
|
||||
export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
|
||||
export * // TODO: Workaround for https://llvm.org/PR120108
|
||||
}
|
||||
module uses_allocator { header "__memory/uses_allocator.h" }
|
||||
module uses_allocator_construction { header "__memory/uses_allocator_construction.h" }
|
||||
@ -1721,7 +1721,7 @@ module std [system] {
|
||||
module allocate {
|
||||
header "__new/allocate.h"
|
||||
export std.utility.element_count // used as part of the API
|
||||
export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108
|
||||
export * // TODO: Workaround for https://llvm.org/PR120108
|
||||
}
|
||||
module destroying_delete_t { header "__new/destroying_delete_t.h" }
|
||||
module exceptions { header "__new/exceptions.h" }
|
||||
|
||||
@ -2258,7 +2258,7 @@ private:
|
||||
(void)__new_mid;
|
||||
# if _LIBCPP_INSTRUMENTED_WITH_ASAN
|
||||
# if defined(__APPLE__)
|
||||
// TODO: remove after addressing issue #96099 (https://github.com/llvm/llvm-project/issues/96099)
|
||||
// TODO: remove after addressing issue #96099 (https://llvm.org/PR96099)
|
||||
if (!__is_long())
|
||||
return;
|
||||
# endif
|
||||
|
||||
@ -460,7 +460,7 @@ public:
|
||||
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view substr(size_type __pos = 0, size_type __n = npos) const {
|
||||
// Use the `__assume_valid` form of the constructor to avoid an unnecessary check. Any substring of a view is a
|
||||
// valid view. In particular, `size()` is known to be smaller than `numeric_limits<difference_type>::max()`, so the
|
||||
// new size is also smaller. See also https://github.com/llvm/llvm-project/issues/91634.
|
||||
// new size is also smaller. See also https://llvm.org/PR91634.
|
||||
return __pos > size() ? (__throw_out_of_range("string_view::substr"), basic_string_view())
|
||||
: basic_string_view(__assume_valid(), data() + __pos, std::min(__n, size() - __pos));
|
||||
}
|
||||
|
||||
@ -152,7 +152,7 @@ static void __libcpp_contention_wait(__cxx_atomic_contention_t volatile* __conte
|
||||
__cxx_atomic_contention_t const volatile* __platform_state,
|
||||
__cxx_contention_t __old_value) {
|
||||
__cxx_atomic_fetch_add(__contention_state, __cxx_contention_t(1), memory_order_relaxed);
|
||||
// https://github.com/llvm/llvm-project/issues/109290
|
||||
// https://llvm.org/PR109290
|
||||
// There are no platform guarantees of a memory barrier in the platform wait implementation
|
||||
__cxx_atomic_thread_fence(memory_order_seq_cst);
|
||||
// We sleep as long as the monitored value hasn't changed.
|
||||
|
||||
@ -766,7 +766,7 @@ void __init_tzdb(tzdb& __tzdb, __tz::__rules_storage_type& __rules) {
|
||||
// On Linux systems it seems /etc/timezone is deprecated and being phased out.
|
||||
// This file is used when /etc/localtime does not exist, or when it exists but
|
||||
// is not a symlink. For more information and links see
|
||||
// https://github.com/llvm/llvm-project/issues/105634
|
||||
// https://llvm.org/PR105634
|
||||
|
||||
string __name = chrono::__current_zone_environment();
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
# We may not want to guarantee this forever, but since this works today and
|
||||
# it's something that users rely on, it makes sense to put a test on it.
|
||||
#
|
||||
# https://github.com/llvm/llvm-project/issues/117630
|
||||
# https://llvm.org/PR117630
|
||||
|
||||
# RUN: %{python} %s %{libcxx-dir}/utils
|
||||
# END.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
// If we decide to make reference comparators ill-formed, this test would become
|
||||
// unnecessary.
|
||||
//
|
||||
// See https://github.com/llvm/llvm-project/issues/118559 for more details.
|
||||
// See https://llvm.org/PR118559 for more details.
|
||||
|
||||
#include <set>
|
||||
#include <map>
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
// XFAIL: FROZEN-CXX03-HEADERS-FIXME
|
||||
|
||||
// Verify that __bounded_iter does not accept non-contiguous iterators as determined by __libcpp_is_contiguous_iterator.
|
||||
// static_assert should be used, see https://github.com/llvm/llvm-project/issues/115002.
|
||||
// static_assert should be used, see https://llvm.org/PR115002.
|
||||
// __wrap_iter cannot be so handled because it may directly wrap user-defined fancy pointers in libc++'s vector.
|
||||
|
||||
#include <deque>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
// template<class T, class U> complex<__promote_t<T, U>> pow(const T&, const complex<U>&);
|
||||
|
||||
// Test that these additional overloads are free from catching std::complex<non-floating-point>,
|
||||
// which is expected by several 3rd party libraries, see https://github.com/llvm/llvm-project/issues/109858.
|
||||
// which is expected by several 3rd party libraries, see https://llvm.org/PR109858.
|
||||
//
|
||||
// Note that we reserve the right to break this in the future if we have a reason to, but for the time being,
|
||||
// make sure we don't break this property unintentionally.
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
// UNSUPPORTED: apple-clang-15
|
||||
|
||||
// This test ensures that we retain a way to disable availability markup on Apple platforms
|
||||
// in order to work around Clang bug https://github.com/llvm/llvm-project/issues/134151.
|
||||
// in order to work around Clang bug https://llvm.org/PR134151.
|
||||
//
|
||||
// Once that bug has been fixed or once we've made changes to libc++'s use of availability
|
||||
// that render that workaround unnecessary, the macro and this test can be removed.
|
||||
|
||||
@ -314,7 +314,7 @@ constexpr bool test() {
|
||||
test_copy_and_move<int*, const int*>();
|
||||
|
||||
// `memmove` does not support volatile pointers.
|
||||
// (See also https://github.com/llvm/llvm-project/issues/28901).
|
||||
// (See also https://llvm.org/PR28527).
|
||||
if (!std::is_constant_evaluated()) {
|
||||
test_both_directions<volatile int, int>();
|
||||
test_both_directions<volatile int, volatile int>();
|
||||
|
||||
@ -14,8 +14,7 @@
|
||||
// but not rvalue callable to algorithms. While it is technically ill-formed for users
|
||||
// to provide us such predicates, this test is useful for libc++ to ensure that we check
|
||||
// predicate requirements correctly (i.e. that we check them on lvalues and not on
|
||||
// rvalues). See https://github.com/llvm/llvm-project/issues/69554 for additional
|
||||
// context.
|
||||
// rvalues). See https://llvm.org/PR69554 for additional context.
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
@ -15,9 +15,8 @@
|
||||
|
||||
// XFAIL: availability-synchronization_library-missing
|
||||
|
||||
// This is a regression test for https://github.com/llvm/llvm-project/issues/85107, which describes
|
||||
// how we were using UL_COMPARE_AND_WAIT instead of UL_COMPARE_AND_WAIT64 in the implementation of
|
||||
// atomic::wait, leading to potential infinite hangs.
|
||||
// This is a regression test for https://llvm.org/PR85107, which describes how we were using UL_COMPARE_AND_WAIT instead
|
||||
// of UL_COMPARE_AND_WAIT64 in the implementation of atomic::wait, leading to potential infinite hangs.
|
||||
|
||||
#include <atomic>
|
||||
#include <cassert>
|
||||
@ -36,7 +35,7 @@ int main(int, char**) {
|
||||
}
|
||||
});
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/85107
|
||||
// https://llvm.org/PR85107
|
||||
// [libc++] atomic_wait uses UL_COMPARE_AND_WAIT when it should use UL_COMPARE_AND_WAIT64 on Darwin
|
||||
constexpr std::__cxx_contention_t old_val = 0;
|
||||
constexpr std::__cxx_contention_t new_val = old_val + (1ll << 32);
|
||||
|
||||
@ -44,7 +44,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
// If we decide to make reference comparators ill-formed, this test would become
|
||||
// unnecessary.
|
||||
//
|
||||
// See https://github.com/llvm/llvm-project/issues/118559 for more details.
|
||||
// See https://https://llvm.org/PR118559 for more details.
|
||||
|
||||
#include <set>
|
||||
#include <map>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
// <flat_set>
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/119016
|
||||
// https://https://llvm.org/PR119016
|
||||
|
||||
#include <flat_set>
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
// As an extension, libc++ flat containers support inserting a non forward range into
|
||||
// a pre-C++23 container that doesn't provide insert_range(...), since many containers
|
||||
// out there are in that situation.
|
||||
// https://github.com/llvm/llvm-project/issues/136656
|
||||
// https://https://llvm.org/PR136656
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
// <flat_set>
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/119016
|
||||
// https://llvm.org/PR119016
|
||||
|
||||
#include <flat_set>
|
||||
|
||||
|
||||
@ -13,8 +13,7 @@
|
||||
|
||||
// As an extension, libc++ flat containers support inserting a non forward range into
|
||||
// a pre-C++23 container that doesn't provide insert_range(...), since many containers
|
||||
// out there are in that situation.
|
||||
// https://github.com/llvm/llvm-project/issues/136656
|
||||
// out there are in that situation. See https://llvm.org/PR136656
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
// This test confirms that those allocators work after turning off annotations.
|
||||
//
|
||||
// A context to this test is a situations when memory is repurposed and destructors are not called.
|
||||
// Related issue: https://github.com/llvm/llvm-project/issues/60384
|
||||
// Related issue: https://llvm.org/PR60384
|
||||
//
|
||||
// That issue appeared in the past and was addressed here: https://reviews.llvm.org/D145628
|
||||
//
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
// XFAIL: libcpp-hardening-mode=debug && availability-verbose_abort-missing
|
||||
// ADDITIONAL_COMPILE_FLAGS: -Wno-ctad-maybe-unsupported
|
||||
|
||||
// FIXME: https://github.com/llvm/llvm-project/issues/64719
|
||||
// FIXME: https://llvm.org/PR64719
|
||||
// There appear to be some issues around ctad which make it
|
||||
// currently impossible to get this code warning free.
|
||||
// Thus added the additional compile flag above
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
// XFAIL: libcpp-hardening-mode=debug && availability-verbose_abort-missing
|
||||
// ADDITIONAL_COMPILE_FLAGS: -Wno-ctad-maybe-unsupported
|
||||
|
||||
// FIXME: https://github.com/llvm/llvm-project/issues/64719
|
||||
// FIXME: https://llvm.org/PR64719
|
||||
// There appear to be some issues around ctad which make it
|
||||
// currently impossible to get this code warning free.
|
||||
// Thus added the additional compile flag above
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
// However using the granularized headers so it's possible to implement
|
||||
// <ostream> without <format>. This would be a non-conforming implementation.
|
||||
//
|
||||
// See https://github.com/llvm/llvm-project/issues/71925
|
||||
// See https://llvm.org/PR71925
|
||||
|
||||
#include <ostream>
|
||||
#include <vector>
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
// __bounded_iter<_Iter>
|
||||
|
||||
// Verify that __bounded_iter does not accept non-contiguous iterators as determined by __libcpp_is_contiguous_iterator.
|
||||
// static_assert should be used, see https://github.com/llvm/llvm-project/issues/115002.
|
||||
// static_assert should be used, see https://llvm.org/PR115002.
|
||||
// __wrap_iter cannot be so handled because it may directly wrap user-defined fancy pointers in libc++'s vector.
|
||||
|
||||
#include <deque>
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
// template<class T, class U> complex<__promote_t<T, U>> pow(const T&, const complex<U>&);
|
||||
|
||||
// Test that these additional overloads are free from catching std::complex<non-floating-point>,
|
||||
// which is expected by several 3rd party libraries, see https://github.com/llvm/llvm-project/issues/109858.
|
||||
// which is expected by several 3rd party libraries, see https://llvm.org/PR109858.
|
||||
//
|
||||
// Note that we reserve the right to break this in the future if we have a reason to, but for the time being,
|
||||
// make sure we don't break this property unintentionally.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
//
|
||||
// TODO(LLVM 22): Remove '0-1' from 'expected-error-re@*:* 0-1 {{union member {{.*}} has reference type {{.*}}}}'
|
||||
// and remove 'expected-warning-re@*:* 0-1 {{union member {{.*}} has reference type {{.*}}, which is a Microsoft extension}}'
|
||||
// once LLVM 22 releases. See https://github.com/llvm/llvm-project/issues/104885.
|
||||
// once LLVM 22 releases. See https://llvm.org/PR104885.
|
||||
|
||||
// Test the mandates
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
// TODO(LLVM 22): Remove '0-1' from 'expected-error-re@*:* 0-1 {{union member {{.*}} has reference type {{.*}}}}'
|
||||
// and remove 'expected-warning-re@*:* 0-1 {{union member {{.*}} has reference type {{.*}}, which is a Microsoft extension}}'
|
||||
// and remove 'expected-error-re@*:* 0-1 {{call to deleted constructor of {{.*}}}}'
|
||||
// once LLVM 22 releases. See See https://github.com/llvm/llvm-project/issues/104885.
|
||||
// once LLVM 22 releases. See See https://llvm.org/PR104885.
|
||||
|
||||
// Test the mandates
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// test_memory_resource requires RTTI for dynamic_cast
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// <memory_resource>
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// <memory_resource>
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// <memory_resource>
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
// REQUIRES: availability-pmr-missing
|
||||
|
||||
// TODO: This test doesn't work until https://github.com/llvm/llvm-project/issues/40340
|
||||
// TODO: This test doesn't work until https://llvm.org/PR40995
|
||||
// has been fixed, because we actually disable availability markup.
|
||||
// XFAIL: *
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
// REQUIRES: stdlib=apple-libc++
|
||||
|
||||
// This test ensures that we retain a way to disable availability markup on Apple platforms
|
||||
// in order to work around Clang bug https://github.com/llvm/llvm-project/issues/134151.
|
||||
// in order to work around Clang bug https://llvm.org/PR134151.
|
||||
//
|
||||
// Once that bug has been fixed or once we've made changes to libc++'s use of availability
|
||||
// that render that workaround unnecessary, the macro and this test can be removed.
|
||||
|
||||
@ -114,7 +114,7 @@ TEST_CONSTEXPR_CXX20 bool test() {
|
||||
|
||||
// Validate std::copy with std::vector<bool> iterators and custom storage types.
|
||||
// Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged.
|
||||
// Related issue: https://github.com/llvm/llvm-project/issues/131692.
|
||||
// Related issue: https://llvm.org/PR131692.
|
||||
{
|
||||
//// Tests for std::copy with aligned bits
|
||||
|
||||
|
||||
@ -116,7 +116,7 @@ TEST_CONSTEXPR_CXX20 bool test() {
|
||||
|
||||
// Validate std::copy_backward with std::vector<bool> iterators and custom storage types.
|
||||
// Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged.
|
||||
// Related issue: https://github.com/llvm/llvm-project/issues/131718.
|
||||
// Related issue: https://llvm.org/PR131718.
|
||||
{
|
||||
//// Tests for std::copy_backward with aligned bits
|
||||
|
||||
|
||||
@ -241,7 +241,7 @@ constexpr bool test() {
|
||||
|
||||
// Validate std::ranges::copy with std::vector<bool> iterators and custom storage types.
|
||||
// Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged.
|
||||
// Related issue: https://github.com/llvm/llvm-project/issues/131692.
|
||||
// Related issue: https://llvm.org/PR131692.
|
||||
{
|
||||
//// Tests for std::ranges::copy with aligned bits
|
||||
|
||||
|
||||
@ -359,7 +359,7 @@ constexpr bool test() {
|
||||
|
||||
// Validate std::ranges::copy_backward with std::vector<bool> iterators and custom storage types.
|
||||
// Ensure that assigned bits hold the intended values, while unassigned bits stay unchanged.
|
||||
// Related issue: https://github.com/llvm/llvm-project/issues/131718.
|
||||
// Related issue: https://llvm.org/PR131718.
|
||||
{
|
||||
//// Tests for std::ranges::copy_backward with aligned bits
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ TEST_CONSTEXPR_CXX20 bool test() {
|
||||
}
|
||||
|
||||
// Fix std::count for std::vector<bool> with small storage types, e.g., std::uint16_t, unsigned short.
|
||||
// See https://github.com/llvm/llvm-project/issues/122528
|
||||
// See https://llvm.org/PR122528
|
||||
{
|
||||
using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>;
|
||||
std::vector<bool, Alloc> in(100, true, Alloc(1));
|
||||
|
||||
@ -285,7 +285,7 @@ constexpr bool test() {
|
||||
}
|
||||
|
||||
// Fix std::ranges::count for std::vector<bool> with small storage types, e.g., std::uint16_t, unsigned short.
|
||||
// See https://github.com/llvm/llvm-project/issues/122528
|
||||
// See https://llvm.org/PR122528
|
||||
{
|
||||
using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>;
|
||||
std::vector<bool, Alloc> in(100, true, Alloc(1));
|
||||
|
||||
@ -178,7 +178,7 @@ TEST_CONSTEXPR_CXX20 bool test() {
|
||||
}
|
||||
|
||||
// Make sure std::equal behaves properly with std::vector<bool> iterators with custom size types.
|
||||
// See issue: https://github.com/llvm/llvm-project/issues/126369.
|
||||
// See issue: https://llvm.org/PR126369.
|
||||
{
|
||||
//// Tests for std::equal with aligned bits
|
||||
|
||||
|
||||
@ -446,7 +446,7 @@ constexpr bool test() {
|
||||
}
|
||||
|
||||
// Make sure std::equal behaves properly with std::vector<bool> iterators with custom size types.
|
||||
// See issue: https://github.com/llvm/llvm-project/issues/126369.
|
||||
// See issue: https://llvm.org/PR126369.
|
||||
{
|
||||
//// Tests for std::equal with aligned bits
|
||||
|
||||
|
||||
@ -244,7 +244,7 @@ TEST_CONSTEXPR_CXX20 bool test() {
|
||||
}
|
||||
|
||||
// Verify that the std::vector<bool>::iterator optimization works properly for allocators with custom size types
|
||||
// Fix https://github.com/llvm/llvm-project/issues/122528
|
||||
// Fix https://llvm.org/PR122528
|
||||
{
|
||||
using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>;
|
||||
std::vector<bool, Alloc> in(100, false, Alloc(1));
|
||||
|
||||
@ -219,7 +219,7 @@ constexpr bool test() {
|
||||
}
|
||||
|
||||
// Verify that the std::vector<bool>::iterator optimization works properly for allocators with custom size types
|
||||
// See https://github.com/llvm/llvm-project/issues/122528
|
||||
// See https://llvm.org/PR122528
|
||||
{
|
||||
using Alloc = sized_allocator<bool, std::uint8_t, std::int8_t>;
|
||||
std::vector<bool, Alloc> in(100, false, Alloc(1));
|
||||
|
||||
@ -56,7 +56,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -219,7 +219,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -67,7 +67,7 @@ void testBasic(MemoryOrder... memory_order) {
|
||||
assert(a.load() == T(1.2));
|
||||
|
||||
// bug
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
if constexpr (!std::same_as<T, long double>) {
|
||||
assert(expected == T(1.2));
|
||||
}
|
||||
@ -235,7 +235,7 @@ int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -55,7 +55,7 @@ constexpr void testOne() {
|
||||
constexpr bool test() {
|
||||
testOne<float>();
|
||||
testOne<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// testOne<long double>();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// XFAIL: !has-64-bit-atomics
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/72893
|
||||
// https://llvm.org/PR72893
|
||||
// XFAIL: target={{x86_64-.*}} && tsan
|
||||
|
||||
// floating-point-type fetch_add(floating-point-type,
|
||||
@ -112,7 +112,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// XFAIL: !has-64-bit-atomics
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/72893
|
||||
// https://llvm.org/PR72893
|
||||
// XFAIL: target={{x86_64-.*}} && tsan
|
||||
|
||||
// floating-point-type fetch_sub(floating-point-type,
|
||||
@ -113,7 +113,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -132,7 +132,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -54,7 +54,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -92,7 +92,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -76,7 +76,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -52,7 +52,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -95,7 +95,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -95,7 +95,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -106,7 +106,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -117,7 +117,7 @@ void test() {
|
||||
int main(int, char**) {
|
||||
test<float>();
|
||||
test<double>();
|
||||
// TODO https://github.com/llvm/llvm-project/issues/47978
|
||||
// TODO https://llvm.org/PR48634
|
||||
// test<long double>();
|
||||
|
||||
return 0;
|
||||
|
||||
@ -28,7 +28,7 @@ int main(int, char**) {
|
||||
static_assert(test_constraints<std::deque, int, double>());
|
||||
|
||||
// TODO(varconst): `deque`'s constructors currently aren't exception-safe.
|
||||
// See https://github.com/llvm/llvm-project/issues/62056.
|
||||
// See https://llvm.org/PR62056.
|
||||
//test_exception_safety_throwing_copy<std::deque>();
|
||||
//test_exception_safety_throwing_allocator<std::deque, int>();
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ TEST_CONSTEXPR_CXX20 bool tests() {
|
||||
}
|
||||
|
||||
#if TEST_STD_VER >= 23
|
||||
// https://github.com/llvm/llvm-project/issues/95161
|
||||
// https://llvm.org/PR95161
|
||||
constexpr bool test_increasing_allocator() {
|
||||
std::vector<bool, increasing_allocator<bool>> v;
|
||||
v.push_back(1);
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
// XFAIL: FROZEN-CXX03-HEADERS-FIXME
|
||||
|
||||
// This test ensures that std::vector<bool> handles allocator types with small size types
|
||||
// properly. Related issue: https://github.com/llvm/llvm-project/issues/121713.
|
||||
// properly. Related issue: https://llvm.org/PR121713.
|
||||
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
|
||||
@ -74,7 +74,7 @@ TEST_CONSTEXPR_CXX20 bool tests() {
|
||||
}
|
||||
|
||||
#if TEST_STD_VER >= 23
|
||||
// https://github.com/llvm/llvm-project/issues/95161
|
||||
// https://llvm.org/PR95161
|
||||
constexpr bool test_increasing_allocator() {
|
||||
std::vector<int, increasing_allocator<int>> v;
|
||||
v.push_back(1);
|
||||
|
||||
@ -79,7 +79,7 @@ TEST_CONSTEXPR_CXX20 void basic_test_cases() {
|
||||
test<std::vector<int, safe_allocator<int> > >(
|
||||
random_access_iterator<const int*>(a), random_access_iterator<const int*>(an));
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/46841
|
||||
// Regression test for https://llvm.org/PR47497
|
||||
{
|
||||
std::vector<int> v1({}, forward_iterator<const int*>{});
|
||||
std::vector<int> v2(forward_iterator<const int*>{}, {});
|
||||
|
||||
@ -90,7 +90,7 @@ TEST_CONSTEXPR_CXX20 void basic_tests() {
|
||||
test<std::vector<int, safe_allocator<int> > >(a, an, alloc);
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/46841
|
||||
// Regression test for https://llvm.org/PR47497
|
||||
{
|
||||
min_allocator<int> alloc;
|
||||
std::vector<int, min_allocator<int> > v1({}, forward_iterator<const int*>{}, alloc);
|
||||
|
||||
@ -232,7 +232,7 @@ int main(int, char**) {
|
||||
test<t, o, t, t, t, t, t, t, conv_test_accessor_c<int, t, t, o, o>>(conv_test_accessor_nc<int, t, o>());
|
||||
// FIXME: these tests trigger what appears to be a compiler bug on MINGW32 with --target=x86_64-w64-windows-gnu
|
||||
// https://godbolt.org/z/KK8aj5bs7
|
||||
// Bug report: https://github.com/llvm/llvm-project/issues/64077
|
||||
// Bug report: https://llvm.org/PR64077
|
||||
#ifndef __MINGW32__
|
||||
test<t, t, t, o, t, t, t, t, conv_test_accessor_c<int, o, t, t, t>>(conv_test_accessor_nc<int, t, t>());
|
||||
test<t, t, t, t, t, t, t, t, conv_test_accessor_c<int, o, o, o, o>>(conv_test_accessor_nc<int, t, o>());
|
||||
|
||||
@ -95,7 +95,7 @@ constexpr bool test_all() {
|
||||
test<std::string>();
|
||||
test<const std::string>();
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/104496
|
||||
// Regression test for https://llvm.org/PR104496
|
||||
{
|
||||
struct Incomplete;
|
||||
std::span<Incomplete> x;
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
// template <ErrorCodeEnum E> error_code(E e);
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/57614
|
||||
// Regression test for https://llvm.org/PR57614
|
||||
|
||||
int make_error_code; // It's important that this comes before <system_error>
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
// template <ErrorCodeEnum E> error_code& operator=(E e);
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/57614
|
||||
// Regression test for https://llvm.org/PR57614
|
||||
|
||||
int make_error_code; // It's important that this comes before <system_error>
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
// template <ErrorCodeEnum E> error_condition(E e);
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/57614
|
||||
// Regression test for https://llvm.org/PR57614
|
||||
|
||||
int make_error_condition; // It's important that this comes before <system_error>
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
// template <ErrorCodeEnum E> error_condition& operator=(E e);
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/57614
|
||||
// Regression test for https://llvm.org/PR57614
|
||||
|
||||
int make_error_condition; // It's important that this comes before <system_error>
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// This tests that swapping filebufs works correctly even when the small buffer
|
||||
// optimization is in use (https://github.com/llvm/llvm-project/issues/49282).
|
||||
// optimization is in use (https://llvm.org/PR49938).
|
||||
|
||||
// <fstream>
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
// basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n) override;
|
||||
|
||||
// This test requires the fix to https://github.com/llvm/llvm-project/issues/60509 in the dylib,
|
||||
// This test requires the fix to https://llvm.org/PR60509 in the dylib,
|
||||
// which landed in 5afb937d8a30445642ccaf33866ee4cdd0713222.
|
||||
// XFAIL: using-built-library-before-llvm-19
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
// using the granularized headers so it's possible to implement <print> without
|
||||
// <format>. This would be a non-conforming implementation.
|
||||
//
|
||||
// See https://github.com/llvm/llvm-project/issues/71925
|
||||
// See https://llvm.org/PR71925
|
||||
|
||||
#include <print>
|
||||
#include <vector>
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
#include <iostream>
|
||||
|
||||
// FIXME: Remove after issue https://github.com/llvm/llvm-project/issues/127348 resolved.
|
||||
// FIXME: Remove after issue https://llvm.org/PR127348 resolved.
|
||||
extern "C" const char* __asan_default_options() { return "check_initialization_order=true:strict_init_order=true"; }
|
||||
|
||||
// Test that ios used from globals constructors doesn't trigger Asan initialization-order-fiasco.
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// This test ensures that we properly propagate allocators from istringstream's
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// This test ensures that we properly propagate allocators from ostringstream's
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
// TODO: Change to XFAIL once https://github.com/llvm/llvm-project/issues/40340 is fixed
|
||||
// TODO: Change to XFAIL once https://llvm.org/PR40995 is fixed
|
||||
// UNSUPPORTED: availability-pmr-missing
|
||||
|
||||
// This test ensures that we properly propagate allocators from stringstream's
|
||||
|
||||
@ -1210,7 +1210,7 @@ void test_hypot()
|
||||
assert(std::hypot(1,4,8) == 9);
|
||||
|
||||
// Check for undue over-/underflows of intermediate results.
|
||||
// See discussion at https://github.com/llvm/llvm-project/issues/92782.
|
||||
// See discussion at https://llvm.org/PR92782.
|
||||
types::for_each(types::floating_point_types(), TestHypot3());
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -8,8 +8,7 @@
|
||||
|
||||
// <complex>
|
||||
|
||||
// Regression test for https://github.com/llvm/llvm-project/issues/101960 where we used to
|
||||
// trigger an ambiguous constructor.
|
||||
// Regression test for https://llvm.org/PR101960 where we used to trigger an ambiguous constructor.
|
||||
|
||||
#include <complex>
|
||||
#include <cassert>
|
||||
|
||||
@ -8,8 +8,7 @@
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
|
||||
// Make sure that std::bit_cast works with std::complex. Test case extracted from
|
||||
// https://github.com/llvm/llvm-project/issues/94620.
|
||||
// Make sure that std::bit_cast works with std::complex. Test case extracted from https://llvm.org/PR94620.
|
||||
|
||||
#include <bit>
|
||||
#include <complex>
|
||||
|
||||
@ -149,7 +149,7 @@ int main(int argc, char**)
|
||||
assert(res1 == 1324997410816LL);
|
||||
}
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/96196
|
||||
// https://llvm.org/PR96196
|
||||
{
|
||||
assert(test_limits<unsigned int>());
|
||||
assert(test_limits<std::uint32_t>());
|
||||
|
||||
@ -60,7 +60,7 @@ struct ForwardDiffView : std::ranges::view_base {
|
||||
constexpr explicit ForwardDiffView() = default;
|
||||
constexpr ForwardDiffView(const char* ptr) : ForwardDiffView(std::string_view(ptr)) {}
|
||||
constexpr ForwardDiffView(std::string_view v) {
|
||||
// Workaround https://github.com/llvm/llvm-project/issues/55867
|
||||
// Workaround https://llvm.org/PR55867
|
||||
buffer_ = v;
|
||||
}
|
||||
constexpr ForwardDiffView(ForwardDiffView&&) = default;
|
||||
@ -144,7 +144,7 @@ struct InputView : std::ranges::view_base {
|
||||
constexpr InputView() = default;
|
||||
constexpr InputView(const char* s) : InputView(std::string_view(s)) {}
|
||||
constexpr InputView(std::string_view v) {
|
||||
// Workaround https://github.com/llvm/llvm-project/issues/55867
|
||||
// Workaround https://llvm.org/PR55867
|
||||
buffer_ = v;
|
||||
}
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ constexpr bool test() {
|
||||
}
|
||||
|
||||
// Make sure iota_view<short, short> works properly. For details,
|
||||
// see https://github.com/llvm/llvm-project/issues/67551.
|
||||
// see https://llvm.org/PR67551.
|
||||
{
|
||||
static_assert(std::ranges::sized_range<std::ranges::iota_view<short, short>>);
|
||||
std::ranges::iota_view<short, short> io(10, 20);
|
||||
|
||||
@ -146,7 +146,7 @@ static_assert(!std::ranges::enable_view<const PrivateInherit>);
|
||||
static_assert(!std::ranges::enable_view<volatile PrivateInherit>);
|
||||
static_assert(!std::ranges::enable_view<const volatile PrivateInherit>);
|
||||
|
||||
// https://github.com/llvm/llvm-project/issues/132577
|
||||
// https://llvm.org/PR132577
|
||||
// enable_view<view_interface<T>> should be false.
|
||||
static_assert(!std::ranges::enable_view<std::ranges::view_interface<V1>>);
|
||||
static_assert(!std::ranges::enable_view<const std::ranges::view_interface<V1>>);
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
// UNSUPPORTED: c++03, c++11, c++14, c++17
|
||||
|
||||
// Test that views that use __movable_box do not overwrite overlapping subobjects.
|
||||
// https://github.com/llvm/llvm-project/issues/70506
|
||||
// https://llvm.org/PR70506
|
||||
|
||||
#include <cassert>
|
||||
#include <ranges>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user