Skip to content

Conversation

StephanTLavavej
Copy link
Member

Fixes internal VSO-2397560 "[RWC][prod/fe][Regression] Taichi build failed with error G444FFF0D: overloaded 'operator()' cannot be a static member function".

We build https://github.com/taichi-dev/taichi in our Real World Code test suite. They're using an older version of Clang/LLVM than we require (I believe it's Clang 14 🙀, when we now require Clang 19), and they've been defining our escape hatch macro to get away with this, but #5284's change to use C++23 WG21-P1169R4 static operator() downlevel has broken them.

We need to work around CUDA 12.4's lack of support for static call operators, so we may as well extend this to ancient versions of Clang, but we are not attempting to support paleolithic compilers in general. In the future, when we can upgrade our minimum supported CUDA version to something that understands static call operators, we should entirely remove this workaround - if Taichi hasn't upgraded their Clang dependency by then, we'll have to file an issue and temporarily skip it in RWC.

@StephanTLavavej StephanTLavavej added the enhancement Something can be improved label Feb 24, 2025
@StephanTLavavej StephanTLavavej requested a review from a team as a code owner February 24, 2025 15:20
Copy link
Member

@davidmrdavid davidmrdavid left a comment

Choose a reason for hiding this comment

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

LGTM, with suggestions

Co-authored-by: David Justo <[email protected]>
@StephanTLavavej
Copy link
Member Author

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 3b2a52e into microsoft:main Feb 25, 2025
39 checks passed
@StephanTLavavej StephanTLavavej deleted the reel-whirled-code branch February 25, 2025 00:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Something can be improved
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants