google / autocxx

Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers
https://docs.rs/autocxx
Apache License 2.0
2.23k stars 144 forks source link

Regressions after updating to clang/LLVM 19.1.0 #1395

Open brt-adam-snaider opened 1 month ago

brt-adam-snaider commented 1 month ago

Caveat: I understand this BUG is quite vague in nature. Part of the ask here is to document if there are specific requirements in regards to the latest supported LLVM/Clang toolchain or if autocxx is supposed to be backwards compatible/agnostic to them.

Describe the bug Upgraded our internal C++ toolchain to clang 19.1.0 and autocxx is now unable to generate many bindings it used to have.

To Reproduce Potentially update examples to LLVM 19.1.0. I'll see if I can get an example set up.

Expected behavior autocxx is able to generate bindings.

adetaylor commented 3 weeks ago

Hi, behind the scenes autocxx is dependent on a forked version of bindgen called autocxx-bindgen. It's probable that bindgen has undergone changes to become compatible with LLVM 19.1.0 and that autocxx-bindgen needs to merge in the latest bindgen changes. This is unfortunately quite a time consuming process but I'll see if I can get a chance to do it sometime in the near future. Even sooner than that, I might document the procedure in case you want to do it.

adetaylor commented 3 weeks ago

This might be the same as #1396. Unfortunately rolling bindgen hasn't solved it.