-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
<type_traits>: Implement Layout-compatibility and Pointer-interconvertibility Traits #1575
Conversation
…rconvertibility Traits
I've marked this PR as a draft and removed WIP from the title. Many of the test failures are caused by Clang not understanding the new compiler builtins. We should request them by filing an LLVM bug, and then guard the definitions accordingly. |
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
* Fix functions declarations * Add feature test macros tests * Update tests
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
Analyzing the x86 failures. |
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
- Updated LLVM bug # for adding intrinsics to clang - Added condition for using outdated vs renamed intrinsics - Added new tests per review feedback
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! I'll verify and push a change to use static_cast
for nullptr
, then I'll mirror this to MSVC.
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Show resolved
Hide resolved
tests/std/tests/P0466R5_layout_compatibility_and_pointer_interconvertibility_traits/test.cpp
Outdated
Show resolved
Hide resolved
Thanks for implementing this feature with a comprehensive set of tests, and congratulations on your first microsoft/STL commit! 🎉 😸 |
This PR implements P0466R5. It will close #18.
This is ready for review:
The following bugs are used to track related issues: