Skip to content

Update generation configs and regenerate bindings for ClangSharp 22.1.8 - #420

Merged
tannergooding merged 4 commits into
terrafx:mainfrom
tannergooding:tannergooding-update-clangsharp-generation-configs
Jul 20, 2026
Merged

Update generation configs and regenerate bindings for ClangSharp 22.1.8#420
tannergooding merged 4 commits into
terrafx:mainfrom
tannergooding:tannergooding-update-clangsharp-generation-configs

Conversation

@tannergooding

Copy link
Copy Markdown
Member

Updates the generation/ response files to the CLI rules introduced by ClangSharp 22.1.8, then regenerates all bindings with that generator + the latest SDK.

Three commits:

  • Update generation configs for ClangSharp v22 CLI options -- adopt the renamed/changed switches and drop remappings that are now redundant under the new defaults.
  • Regenerating bindings using latest SDK and ClangSharpPInvokeGenerator 22.1.8.0 -- the mechanical regen output.
  • Remove never-fired exclude entries that no longer match any declaration -- pruned 2,217 stale excludes that no longer match anything; the remaining excludes are still load-bearing.

The regen diffs that aren't pure churn were triaged round-by-round; everything here is either a ClangSharp behavioral change accepted as by-design or one of our own prior manual edits reconciled against the new output.

Known pre-existing gap, not introduced here: the windows.devices.printers WinRT types (VirtualPrinterSupportedFormat, VirtualPrinterInstallationResult) still fail to generate (CS0246) -- a ClangSharp generation gap tracked separately.


Out of scope / deferred: opting structs into generator-emitted equality via --with-equality-members. That was validated separately and will come as a follow-up.

tannergooding and others added 4 commits July 18, 2026 14:02
Split the monolithic --config block into the new --config mode families,
--generate features, and --log diagnostics. Rename --headerFile,
--methodClassName, and --with-librarypath to their current spellings, fix
the --with-attribue typo, drop the nonexistent --with-getlasterror, and
remove the remaps now covered by the on-by-default default-remappings.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
These are obsolete under the current x64 SDK config: WinRT generic-collection
specializations (no concrete files are emitted), C++ template functions/methods,
x86/x64-absent intrinsics, and MIDL-anon types from absent DIA headers. Drift
suspects (qualified names, signatures, IID_* interfaces) are kept for separate review.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
… interfaces

ClangSharp projects a WinRT runtimeclass to its default interface everywhere
else, but leaves forward-declared-only classes as the bare class name, which
has no emitted type. Remap the two affected classes to fix CS0246.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@tannergooding
tannergooding merged commit f9becd2 into terrafx:main Jul 20, 2026
8 checks passed
@tannergooding
tannergooding deleted the tannergooding-update-clangsharp-generation-configs branch July 20, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant