Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libc++][test][msan] Fix bots after #67799 #73152

Merged
merged 2 commits into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
// UNSUPPORTED: c++03, c++11, c++14, c++17
// UNSUPPORTED: target={{.+}}-windows-gnu
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: tsan, msan
// XFAIL: tsan
// Hangs with msan.
// UNSUPPORTED: msan
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you know why it is hanging on your CI? It was fine on our msan CI. It XFAIL because long double of x87_fp80 format has padding bits and at the moment, there is no way for clang to initialise those padding bits

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not yet, now I want recover bots and investigate later, if there is an interest in support of these test.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is x87_fp80 about msan? Msan, I guess, can just not take them into account?
I didn't look into details of float atomics, but if the type is visible to msan, it should be possible.

Any idea for tsan?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes it is about msan .

TSAN is because of the GitHub issue in the comments. basically according to the discussion it is a problem in TSAN itself where it does not intercept any calls into libatomic

// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic

// T exchange(T, memory_order = memory_order::seq_cst) volatile noexcept;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
// XFAIL: LIBCXX-AIX-FIXME
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: tsan
// Hangs with msan.
// UNSUPPORTED: msan
// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic

// floating-point-type fetch_add(floating-point-type,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
// XFAIL: LIBCXX-AIX-FIXME
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: tsan
// Hangs with msan.
// UNSUPPORTED: msan
// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic

// floating-point-type fetch_sub(floating-point-type,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
// UNSUPPORTED: target={{.+}}-windows-gnu
// XFAIL: LIBCXX-AIX-FIXME
// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
ldionne marked this conversation as resolved.
Show resolved Hide resolved
// Hangs with msan.
// UNSUPPORTED: msan
ldionne marked this conversation as resolved.
Show resolved Hide resolved

// floating-point-type operator-=(floating-point-type) volatile noexcept;
// floating-point-type operator-=(floating-point-type) noexcept;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
// UNSUPPORTED: target={{.+}}-windows-gnu
// XFAIL: LIBCXX-AIX-FIXME
// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
ldionne marked this conversation as resolved.
Show resolved Hide resolved
// Hangs with msan.
// UNSUPPORTED: msan
ldionne marked this conversation as resolved.
Show resolved Hide resolved

// floating-point-type operator+=(floating-point-type) volatile noexcept;
// floating-point-type operator+=(floating-point-type) noexcept;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
// UNSUPPORTED: c++03, c++11, c++14, c++17
// XFAIL: availability-synchronization_library-missing
// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: tsan, msan
// XFAIL: tsan
// Hangs with msan.
// UNSUPPORTED: msan
// ADDITIONAL_COMPILE_FLAGS(has-latomic): -latomic

// void wait(T old, memory_order order = memory_order::seq_cst) const volatile noexcept;
Expand Down
Loading