You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ensure you select the GUI option to add LLVM to the PATH
LLVM 18 has a bug that causes bindings to fail to generate for ARM64. Continue using LLVM 17 until LLVM 19 comes out with the fix. See this for more details.
This framing (last updated for the LLVM 18 / ARM64 __prefetch bug) reads as "LLVM 19+ is fine," but #659 shows a different, broader regression on x86_64 (not ARM64-specific) that affects newer LLVM through at least 23.1.1 — confirmed independently in a comment on #659 with LLVM 23.1.1 producing ~40 opaque 1-byte struct stubs for core WDK types (_DEVICE_OBJECT, _IRP, _DRIVER_OBJECT, etc.) on a WDM driver. #659's reporters found LLVM 21.1.2 works; I found LLVM 17.0.6 works; neither of us tried the full range in between, so the actual good/bad boundary isn't pinned down yet.
Suggested fix
Once wdk-sys/wdk-build ship a release including the fix already on main (referenced in #659, commit 21ec8f8), update the README to either:
State the actual verified-good LLVM range (once known), or
Point directly at Could not compile wdk-sys #659 for current known-good/known-bad LLVM versions until a release resolves it, rather than implying the fix is scoped to "LLVM 19+" (which is true for the ARM64__prefetch bug this section originally documented, but not for the newer x86_64 regression).
This is a docs-accuracy issue, not a functional bug — filing separately from #659 since #659 already has the technical repro/fix info; this is specifically about updating README guidance so new users don't get steered wrong by the "LLVM 19+ is fine" implication.
Description
The README's libclang guidance currently reads:
This framing (last updated for the LLVM 18 / ARM64
__prefetchbug) reads as "LLVM 19+ is fine," but #659 shows a different, broader regression on x86_64 (not ARM64-specific) that affects newer LLVM through at least 23.1.1 — confirmed independently in a comment on #659 with LLVM 23.1.1 producing ~40 opaque 1-byte struct stubs for core WDK types (_DEVICE_OBJECT,_IRP,_DRIVER_OBJECT, etc.) on a WDM driver. #659's reporters found LLVM 21.1.2 works; I found LLVM 17.0.6 works; neither of us tried the full range in between, so the actual good/bad boundary isn't pinned down yet.Suggested fix
Once
wdk-sys/wdk-buildship a release including the fix already onmain(referenced in #659, commit 21ec8f8), update the README to either:__prefetchbug this section originally documented, but not for the newer x86_64 regression).This is a docs-accuracy issue, not a functional bug — filing separately from #659 since #659 already has the technical repro/fix info; this is specifically about updating README guidance so new users don't get steered wrong by the "LLVM 19+ is fine" implication.