microsoft / microsoft/DirectXShaderCompiler
lib/MC/MCSchedule.cpp uses deprecated is_pod
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.7k
- Forks
- 900
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 44
Description
Description
https://github.com/microsoft/DirectXShaderCompiler/blob/d8aad78191b3f179601babc3183fd7c98f50df17/lib/MC/MCSchedule.cpp#L19 uses is_pod, which is deprecated in C++20 and was marked as such in libc++ in https://github.com/llvm/llvm-project/issues/129471
Steps to Reproduce
Build with -std=c++20 with a libc++ that has https://github.com/llvm/llvm-project/issues/129471
Actual Behavior
Warns about is_pod.
LLVM removed this in https://github.com/llvm/llvm-project/commit/9810fe1a91eb9ce18246fb1528232a539dbd37fc, but that doesn't apply cleanly because DXC also doesn't have https://github.com/llvm/llvm-project/commit/d3a6c897ba992 and https://github.com/llvm/llvm-project/commit/aee34000f9fbd50849af4e8950bf16d2034bae6a
I don't know how you usually track upstream changes (or if you do at all).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in lib/MC/MCSchedule.cpp at the referenced is_pod use and review the linked LLVM removal commit alongside the two prerequisite commits that do not apply cleanly to DXC. Build with -std=c++20 using an affected libc++ and verify that the deprecation warning is gone without introducing build failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 54/100