Enable performance-* in clang-tidy.#8281
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
/ok to test |
davebayer
left a comment
There was a problem hiding this comment.
I'm not sure if we can just slap noexcept to many of these functions, we must be extremely careful, it can lead to program termination..
|
|
||
| // print the output | ||
| std::cout << "Tuple functor" << std::endl; | ||
| std::cout << "Tuple functor" << '\n'; |
There was a problem hiding this comment.
do we actually care about these? I feel like they make it harder to read
| _CCCL_API friend void swap(tuple& __t, tuple& __u) noexcept | ||
| { | ||
| __t.swap(__u); | ||
| } |
There was a problem hiding this comment.
I don't think this is correct
| _CCCL_EXEC_CHECK_DISABLE | ||
| _CCCL_API friend constexpr void swap(__compressed_movable_box& __x, __compressed_movable_box& __y) | ||
| _CCCL_API friend constexpr void swap(__compressed_movable_box& __x, __compressed_movable_box& __y) noexcept |
There was a problem hiding this comment.
I'm not sure whether this is correct, @miscco can you have a look, please
For move constructors/assignment operators at least, unless these functions are incredibly carefully implemented to have strong exception guarantees (which it does not appear a lot of them are), program termination is arguably preferable to leaving zombie objects. Similarly with swap which usually do multi-step swapping of members. In those cases, is it really preferable (unless we are otherwise constrained by the standard) to propagate the exception at the expense of leaving the object half swapped-from? |
|
/ok to test |
1 similar comment
|
/ok to test |
This comment has been minimized.
This comment has been minimized.
|
/ok to test |
1 similar comment
|
/ok to test |
This comment has been minimized.
This comment has been minimized.
|
/ok to test |
fd30838 to
de54eb0
Compare
This comment has been minimized.
This comment has been minimized.
|
/ok to test |
This comment has been minimized.
This comment has been minimized.
|
|
||
| //! @brief Source access order for copy_bytes | ||
| enum class source_access_order | ||
| enum class source_access_order : ::cuda::std::uint8_t |
| [[nodiscard]] _CCCL_API _CCCL_FORCEINLINE ::cudaStream_t __invalid_stream() noexcept | ||
| { | ||
| return reinterpret_cast<::cudaStream_t>(~0ull); | ||
| return ::cudaStream_t{}; |
There was a problem hiding this comment.
This is not correct, please, revert this
There was a problem hiding this comment.
Ah good catch, I missed the ~ in ~0ull when reading this. Fixed.
|
/ok to test |
762f2d0 to
6f5f8f2
Compare
|
/ok to test |
😬 CI Workflow Results🟥 Finished in 30m 38s: Pass: 0%/1 | Total: 30m 38s | Max: 30m 38sSee results here. |
Description
closes
Checklist