зеркало из https://github.com/microsoft/STL.git
Update llvm-project (#5038)
This commit is contained in:
Родитель
41e3f51698
Коммит
a1bc126179
|
@ -1 +1 @@
|
|||
Subproject commit 886b76128fba5f995c8c8e24aaa2030b59dec01a
|
||||
Subproject commit 69ead949d08ff0bb8cbbf4f7143aaa6687830f6b
|
|
@ -24,10 +24,6 @@ std/time/time.syn/formatter.year_month_weekday.pass.cpp:1 FAIL
|
|||
std/time/time.syn/formatter.zoned_time.pass.cpp:0 FAIL
|
||||
std/time/time.syn/formatter.zoned_time.pass.cpp:1 FAIL
|
||||
|
||||
# LLVM-74756: [libc++][test] overload_compare_iterator doesn't support its claimed iterator_category
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp FAIL
|
||||
|
||||
# LLVM-90196: [libc++][format] Formatting range with m range-type is incorrect
|
||||
std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp FAIL
|
||||
std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp FAIL
|
||||
|
@ -37,12 +33,8 @@ std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.p
|
|||
# LLVM-100506: [libc++][test] Precondition violation in rand.dist.uni.real/param_ctor.pass.cpp
|
||||
std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_ctor.pass.cpp FAIL
|
||||
|
||||
# LLVM-105878: [libc++][test] fp_compare.h includes non-portable <__config>
|
||||
std/numerics/c.math/cmath.pass.cpp FAIL
|
||||
std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp FAIL
|
||||
|
||||
# LLVM-105966: [libc++][test] Fix is_always_lock_free test
|
||||
std/atomics/atomics.lockfree/is_always_lock_free.cpp FAIL
|
||||
# LLVM-113609: [libc++][test] Non-rebindable test_alloc in string.capacity/deallocate_size.pass.cpp
|
||||
std/strings/basic.string/string.capacity/deallocate_size.pass.cpp FAIL
|
||||
|
||||
# Non-Standard regex behavior.
|
||||
# "It seems likely that the test is still non-conforming due to how libc++ handles the 'w' character class."
|
||||
|
@ -80,10 +72,9 @@ std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp FAIL
|
|||
# Test expects __cpp_lib_chrono to have the old value 201611L for P0505R0; we define the C++20 value 201907L for P1466R3.
|
||||
std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp FAIL
|
||||
|
||||
# Tests expect __cpp_lib_ranges to have the old value 201811L for P0896R4; we define the C++20 value 201911L for P1716R3.
|
||||
# Test expects __cpp_lib_freestanding_algorithm to not be defined before C++26; we define it unconditionally.
|
||||
# Test expects __cpp_lib_shift to have the C++20 value 201806L for P0769R2; we define the C++23 value 202202L for P2440R1.
|
||||
std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp FAIL
|
||||
std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp FAIL
|
||||
std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp FAIL
|
||||
|
||||
# Test expects __cpp_lib_print to have the old value 202207L for P2093R14; we define the C++23 value 202406L for P3235R3.
|
||||
std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp FAIL
|
||||
|
@ -157,19 +148,6 @@ std/language.support/support.limits/support.limits.general/format.version.compil
|
|||
# libc++ doesn't implement LWG-3670
|
||||
std/ranges/range.factories/range.iota.view/iterator/member_typedefs.compile.pass.cpp FAIL
|
||||
|
||||
# libc++ doesn't implement LWG-3870
|
||||
std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp FAIL
|
||||
std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp FAIL
|
||||
|
||||
# libc++ doesn't implement LWG-4013
|
||||
std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.default.pass.cpp FAIL
|
||||
std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.iter.pass.cpp FAIL
|
||||
|
@ -237,6 +215,9 @@ std/language.support/support.limits/support.limits.general/cstdlib.version.compi
|
|||
# P2255R2 "Type Traits To Detect References Binding To Temporaries"
|
||||
std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp FAIL
|
||||
|
||||
# P2674R1 is_implicit_lifetime
|
||||
std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp FAIL
|
||||
|
||||
|
||||
# *** MISSING COMPILER FEATURES ***
|
||||
# P1169R4 static operator()
|
||||
|
@ -247,15 +228,8 @@ std/thread/futures/futures.task/futures.task.members/ctad.static.compile.pass.cp
|
|||
std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/ctad.static.compile.pass.cpp:0 FAIL
|
||||
std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/ctad.static.compile.pass.cpp:1 FAIL
|
||||
|
||||
# P2128R6 Multidimensional Subscript Operator
|
||||
std/containers/views/mdspan/mdspan/index_operator.pass.cpp:0 FAIL
|
||||
std/containers/views/mdspan/mdspan/index_operator.pass.cpp:1 FAIL
|
||||
|
||||
|
||||
# *** MISSING LWG ISSUE RESOLUTIONS ***
|
||||
# LWG-2192 "Validity and return type of std::abs(0u) is unclear" (resolution is missing in UCRT, DevCom-10331466)
|
||||
std/depr/depr.c.headers/stdlib_h.pass.cpp FAIL
|
||||
|
||||
# LWG-2503 "multiline option should be added to syntax_option_type"
|
||||
std/re/re.const/re.matchflag/match_multiline.pass.cpp FAIL
|
||||
std/re/re.const/re.matchflag/match_not_eol.pass.cpp FAIL
|
||||
|
@ -276,11 +250,6 @@ std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp SKIPPED
|
|||
|
||||
|
||||
# *** C1XX COMPILER BUGS ***
|
||||
# DevCom-409222 VSO-752709 "Constructing rvalue reference from non-reference-related lvalue reference"
|
||||
# Reportedly fixed in VS 2019 16.10, test is still failing, need to investigate.
|
||||
std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp:0 FAIL
|
||||
std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp:1 FAIL
|
||||
|
||||
# VSO-1271673 "static analyzer doesn't know about short-circuiting"
|
||||
# Note: The :1 (ASan) configuration doesn't run static analysis.
|
||||
std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp:0 FAIL
|
||||
|
@ -747,9 +716,6 @@ std/re/re.alg/re.alg.search/basic.locale.pass.cpp FAIL
|
|||
std/re/re.alg/re.alg.search/ecma.locale.pass.cpp FAIL
|
||||
std/re/re.alg/re.alg.search/extended.locale.pass.cpp FAIL
|
||||
|
||||
# Not analyzed. Error mentions allocator<const T>.
|
||||
std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp FAIL
|
||||
|
||||
# Not analyzed. Seems to force a sign conversion error?
|
||||
std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp SKIPPED
|
||||
|
||||
|
@ -832,6 +798,8 @@ std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp:0 FAIL
|
|||
std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp:1 FAIL
|
||||
std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp:0 FAIL
|
||||
std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp:1 FAIL
|
||||
std/containers/views/mdspan/mdspan/index_operator.pass.cpp:0 FAIL
|
||||
std/containers/views/mdspan/mdspan/index_operator.pass.cpp:1 FAIL
|
||||
|
||||
# Not analyzed. Looks like a test bug, assuming that hash<vector<bool>> is constexpr.
|
||||
std/containers/sequences/vector.bool/enabled_hash.pass.cpp FAIL
|
||||
|
@ -858,9 +826,6 @@ std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op
|
|||
std/ranges/range.adaptors/range.lazy.split/ctor.copy_move.pass.cpp FAIL
|
||||
std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_swap.pass.cpp FAIL
|
||||
|
||||
# Not analyzed. Checking whether packaged_task is constructible from an allocator and a packaged_task of a different type.
|
||||
std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp FAIL
|
||||
|
||||
# Not analyzed.
|
||||
# MSVC error C2131: expression did not evaluate to a constant
|
||||
# MSVC note: failure was caused by a read of an uninitialized symbol
|
||||
|
|
|
@ -760,7 +760,7 @@ void test_hash_monostate() {
|
|||
static_assert(std::is_copy_constructible<H>::value, "");
|
||||
}
|
||||
{
|
||||
test_hash_enabled_for_type<std::monostate>();
|
||||
test_hash_enabled<std::monostate>();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -795,18 +795,18 @@ namespace hash {
|
|||
void test_hash_variant_enabled() {
|
||||
{
|
||||
#ifndef __EDG__ // TRANSITION, DevCom-10107834
|
||||
test_hash_enabled_for_type<std::variant<int> >();
|
||||
test_hash_enabled_for_type<std::variant<int*, long, double, const int> >();
|
||||
test_hash_enabled<std::variant<int> >();
|
||||
test_hash_enabled<std::variant<int*, long, double, const int> >();
|
||||
#endif // ^^^ no workaround ^^^
|
||||
}
|
||||
{
|
||||
test_hash_disabled_for_type<std::variant<int, A>>();
|
||||
test_hash_disabled_for_type<std::variant<const A, void*>>();
|
||||
test_hash_disabled<std::variant<int, A>>();
|
||||
test_hash_disabled<std::variant<const A, void*>>();
|
||||
}
|
||||
{
|
||||
#ifndef __EDG__ // TRANSITION, DevCom-10107834
|
||||
test_hash_enabled_for_type<std::variant<int, B>>();
|
||||
test_hash_enabled_for_type<std::variant<const B, int>>();
|
||||
test_hash_enabled<std::variant<int, B>>();
|
||||
test_hash_enabled<std::variant<const B, int>>();
|
||||
#endif // ^^^ no workaround ^^^
|
||||
}
|
||||
}
|
||||
|
|
|
@ -701,7 +701,7 @@ int run_test()
|
|||
struct TestConstexpr : public std::any {
|
||||
constexpr TestConstexpr() : std::any() {}
|
||||
};
|
||||
static TEST_CONSTINIT std::any a;
|
||||
TEST_CONSTINIT static std::any a;
|
||||
(void)a;
|
||||
}
|
||||
#endif // ^^^ no workaround ^^^
|
||||
|
|
|
@ -862,18 +862,18 @@ int run_test()
|
|||
}
|
||||
{
|
||||
#ifndef __EDG__ // TRANSITION, DevCom-10107834
|
||||
test_hash_enabled_for_type<std::optional<int> >();
|
||||
test_hash_enabled_for_type<std::optional<int*> >();
|
||||
test_hash_enabled_for_type<std::optional<const int> >();
|
||||
test_hash_enabled_for_type<std::optional<int* const> >();
|
||||
test_hash_enabled<std::optional<int> >();
|
||||
test_hash_enabled<std::optional<int*> >();
|
||||
test_hash_enabled<std::optional<const int> >();
|
||||
test_hash_enabled<std::optional<int* const> >();
|
||||
#endif // ^^^ no workaround ^^^
|
||||
|
||||
test_hash_disabled_for_type<std::optional<A>>();
|
||||
test_hash_disabled_for_type<std::optional<const A>>();
|
||||
test_hash_disabled<std::optional<A>>();
|
||||
test_hash_disabled<std::optional<const A>>();
|
||||
|
||||
#ifndef __EDG__ // TRANSITION, DevCom-10107834
|
||||
test_hash_enabled_for_type<std::optional<B>>();
|
||||
test_hash_enabled_for_type<std::optional<const B>>();
|
||||
test_hash_enabled<std::optional<B>>();
|
||||
test_hash_enabled<std::optional<const B>>();
|
||||
#endif // ^^^ no workaround ^^^
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче