[libcxx-commits] [libcxx] [libc++] Protect the libc++ implementation from CUDA SDK's `__noinline__` macro (PR #73838)

Artem Belevich via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 8 15:48:14 PST 2024


Artem-B wrote:

So, to sum it up:
* clang needs to be able to compile CUDA sources w/ libc++ with N previous CUDA SDK versions that will not ever be fixed. This makes the question whether future CUDA SDK versions will be fixed moot.
* https://github.com/llvm/llvm-project/pull/74123 partially works around the issue for now. At least it allows to avoid the outright compialtion failures in *all* CUDA compilations with libc++. It's far from perfect, but it buys us some time to figure a better solution. It does depend on the implementation detail and is potentially fragile, but `__noinline__` is used rather infrequently, so I don't think it will be a big issue in practice.

I propose landing  the workaround  in #74123 if this PR needs more time.


https://github.com/llvm/llvm-project/pull/73838


More information about the libcxx-commits mailing list