microsoft / microsoft/DirectXShaderCompiler

lib/MC/MCSchedule.cpp uses deprecated is_pod

Open
#7,267 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.