Skip to content

Update to Clang 0.19 - #135

Open
benegee wants to merge 7 commits into
mainfrom
bg/clang-0.19
Open

Update to Clang 0.19#135
benegee wants to merge 7 commits into
mainfrom
bg/clang-0.19

Conversation

@benegee

@benegee benegee commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Also removed Glob and switched to using detect_headers as suggested here: https://github.com/JuliaInterop/Clang.jl?tab=readme-ov-file#quick-start

Overall this causes lots of changes in the generated Libt8.jl. The diff is far too huge. Line count went from ~17k to ~21k.

Fixes I had to add:

  • manually added const P4EST_QMAXLEVEL = 29, which is defined in some p4est header
  • ignored t8code t8_dtri_to_dtet.h header, which, for reasons I do not know precisely, redefines a lot of things, resulting in broken bindings

@benegee

benegee commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

In principle this should be non-breaking as the underlying t8code_jll, used to generate the bindings, has not changed.
But, if we release this as v0.9.3, Trixi.jl will pick it up immediately, right? @JoshuaLampert

@JoshuaLampert

Copy link
Copy Markdown
Collaborator

But, if we release this as v0.9.3, Trixi.jl will pick it up immediately, right? @JoshuaLampert

Yes.

@JoshuaLampert

Copy link
Copy Markdown
Collaborator

Overall this causes lots of changes in the generated Libt8.jl. The diff is far too huge. Line count went from ~17k to ~21k.

Do you know why?

@benegee benegee mentioned this pull request Aug 5, 2026
@benegee

benegee commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

Unfortunately not!

Clang.jl v0.18.3 dates back to April, 2024. I can only speculate lots of things have changed since then under the hood, and somehow more code is now processed and transformed.

@benegee

benegee commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

Should we consider a breaking release, just as a safety measure?

@JoshuaLampert

Copy link
Copy Markdown
Collaborator

I don't know. Can you check if there is a difference in the generated file between Clang.jl v0.19.0 and v0.19.3 or if the changes only come from v0.18.3->v0.19.0? Then we could try to understand, which of these PRs is responsible for the changes https://github.com/JuliaInterop/Clang.jl/releases/tag/v0.19.0.

@benegee

benegee commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator Author

Actually, I checked this yesterday. Same situation with v0.19.0, so it comes with the major release.

@JoshuaLampert

Copy link
Copy Markdown
Collaborator

Ok, can you recognize any specific pattern in the diff when looking at it locally (it is too big to be shown in the PR on GitHub)?

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.

2 participants