Skip to content

Conversation

frederick-vs-ja
Copy link
Contributor

Intrinsics __is_layout_compatible and __is_pointer_interconvertible_base_of are implemented in Clang 19 (LLVM-81506, LLVM-88473), so this PR unblocks the corresponding standard library components for Clang.

Unfortunately, according to WG21-P0466R5,

  • __cpp_lib_is_layout_compatible covers is_layout_compatible(_v) and __is_corresponding_member, and
  • __cpp_lib_is_pointer_interconvertible covers is_pointer_interconvertible_base_of(_v) and is_pointer_interconvertible_with_class,

so no feature-test macro should be unblocked for Clang at this moment.

Also adds workaround for LLVM-135273 and RWC, and specially handles EDG for IntelliSense with LLVM toolset.

@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner June 24, 2025 16:53
@github-project-automation github-project-automation bot moved this to Initial Review in STL Code Reviews Jun 24, 2025
@StephanTLavavej

This comment was marked as resolved.

This comment was marked as resolved.

@StephanTLavavej StephanTLavavej added the enhancement Something can be improved label Jun 24, 2025
@StephanTLavavej StephanTLavavej self-assigned this Jun 24, 2025
@StephanTLavavej StephanTLavavej added the compiler Compiler work involved label Jun 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler Compiler work involved enhancement Something can be improved
Projects
Status: Initial Review
Development

Successfully merging this pull request may close these issues.

2 participants