Skip to content

Commit

Permalink
Update llvm-project (#5038)
Browse files Browse the repository at this point in the history
  • Loading branch information
StephanTLavavej authored Oct 30, 2024
1 parent 41e3f51 commit a1bc126
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 61 deletions.
2 changes: 1 addition & 1 deletion llvm-project
Submodule llvm-project updated 18032 files
53 changes: 9 additions & 44 deletions tests/libcxx/expected_results.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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."
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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()
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
14 changes: 7 additions & 7 deletions tests/std/tests/P0088R3_variant/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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>();
}
}

Expand Down Expand Up @@ -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 ^^^
}
}
Expand Down
2 changes: 1 addition & 1 deletion tests/std/tests/P0220R1_any/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 ^^^
Expand Down
16 changes: 8 additions & 8 deletions tests/std/tests/P0220R1_optional/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 ^^^
}

Expand Down

0 comments on commit a1bc126

Please sign in to comment.