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

Use absolute includes for libcu++ #1560

Merged
merged 1 commit into from
Apr 2, 2024
Merged

Conversation

miscco
Copy link
Collaborator

@miscco miscco commented Mar 22, 2024

Relative includes are difficult for some of our supported configurations. Now that we dropped the libcxx compilation mode we can just move to absolute includes.

This is a precursor to actually flattening the folder structure

Addresses [FEA]: Avoid relative includes in all CCCL headers #641

@miscco miscco requested review from a team as code owners March 22, 2024 12:03
@miscco miscco added feature request New feature or request. libcu++ For all items related to libcu++ labels Mar 22, 2024
@miscco miscco force-pushed the move_files_libcudacxx branch 3 times, most recently from 0ab463b to 398c3ae Compare March 22, 2024 12:24
@miscco miscco linked an issue Mar 22, 2024 that may be closed by this pull request
1 task
@miscco miscco requested a review from leofang March 22, 2024 13:13
@leofang
Copy link
Member

leofang commented Mar 22, 2024

Thanks, Michael! Eyeball'd it and LGTM, but a big disclaimer is I don't know the codebase structure enough, so I could miss things.

Relative includes are difficult for some of our supported configurations. Now that we dropped the libcxx compilation mode we can just move to absolute includes.

This is a precursor to actually flattening the folder structure

Addresses [FEA]: Avoid relative includes in all CCCL headers NVIDIA#641
Copy link
Collaborator

@griwes griwes left a comment

Choose a reason for hiding this comment

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

Since you're already touching all this - I believe that all the blocks of includes guarded by #ifndef __cuda_std__ can also just... go away? They were there to disable including headers needed in the libc++ mode when compiling as libcu++. (We can do that in a separate PR if you'd prefer that.)

@miscco
Copy link
Collaborator Author

miscco commented Apr 1, 2024

Since you're already touching all this - I believe that all the blocks of includes guarded by #ifndef __cuda_std__ can also just... go away? They were there to disable including headers needed in the libc++ mode when compiling as libcu++. (We can do that in a separate PR if you'd prefer that.)

I would prefer a follow up, as it is easy to break things that way

@miscco miscco merged commit 7b377f7 into NVIDIA:main Apr 2, 2024
585 checks passed
@miscco miscco deleted the move_files_libcudacxx branch April 2, 2024 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request. libcu++ For all items related to libcu++
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[FEA]: Avoid relative includes in all CCCL headers
3 participants