Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Improve handling of internal headers and modularization #372

Merged
merged 50 commits into from
Mar 6, 2023
Merged

Conversation

miscco
Copy link
Collaborator

@miscco miscco commented Feb 21, 2023

Currently our cuda/std/meow headers are not independently usable.

This means that it is not always clear, how to handle internal includes in our libc++ headers as we potentially need some other dependency.

To alleviate this move all the custom header includes / definitions into the libc++ headers, so that everything inside cuda/std/meow is only a forward to cuda/std/detail/libcxx/meow

While we are at it the final commit revive our internal libc++ test suite as that as been broken recently

@griwes mentioned that we should move the cuda internal definitions somewhere else, but I fear that this would be a potentially breaking change, even if it is an undocumented feature.

These changes already showed a lot of reliance on transitive includes inside our own test suite

@miscco miscco added the testing: internal ci passed Passed internal NVIDIA CI (DVS). label Feb 23, 2023
Base automatically changed from modularize_functional to main March 1, 2023 02:16
@miscco miscco force-pushed the rework_includes branch 7 times, most recently from c6b6b7d to 5ae45e2 Compare March 6, 2023 11:41
miscco added 25 commits March 6, 2023 13:35
This fixes Unexpected types for some climits constants under __CUDACC_RTC__ #281
This follows libc++ and also avoids issues with the old header `__tuple`
clang-15 thankfully changed the way it reports failed static assertions

it moved from "static_assert failed" to "static assertion failed" 🤦
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
testing: internal ci passed Passed internal NVIDIA CI (DVS).
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants