Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase #1740 upon master #2229

Closed
wants to merge 100 commits into from
Closed

Conversation

kulp
Copy link
Member

@kulp kulp commented Jun 24, 2022

This is an experimental rebase of #1740 upon the current master, a1a0043.

Most commits do not compile or pass tests, and many have been modified during the rebase.

The current PR is, in itself, not likely a candidate for eventual merging, but it might help illuminate a path forward.

@kulp kulp force-pushed the clang_tooling_rebased branch from 0ecc203 to 17febdc Compare June 24, 2022 02:23
@kulp
Copy link
Member Author

kulp commented Jun 24, 2022

This passes cargo test on my M1 Mac with LLVM 13, but not CI. I expect to investigate when I have time.

@kulp kulp force-pushed the clang_tooling_rebased branch 3 times, most recently from 6bb29b6 to 4575fab Compare June 25, 2022 04:27
@kulp
Copy link
Member Author

kulp commented Jun 25, 2022

As of 4575fab there is one CI job passing all tests with Clang 9.0.

Right now this requires a lot of hacks to build.rs, but it gives hope.

@bors-servo

This comment was marked as resolved.

@kulp kulp force-pushed the clang_tooling_rebased branch from c107881 to 357c865 Compare July 22, 2022 19:26
kulp and others added 22 commits July 22, 2022 15:27
This reverts commit c462892.

This turned out not to be used, and causes trouble with rust-lang#1740.
Bindgen builds and runs now, but does not produce any bindings yet.
We need to compare on variant contents, not just on variant equality
Bindgen currently assumes that it won't see these types from libclang.
Added some misc CXXBaseSpecifier accessors and fixed visiting CXXBaseSpecifiers
Needed for compatibility with latest Clang
rinon and others added 25 commits July 22, 2022 15:27
Platforms don't mangle C++ the same, so we should avoid depending on C++
mangling if we're going to embed a bindings file.
We can't pass C++ objects by value from C++ to Rust. QualType has an
interface for converting back and forth to void*, so we can use that
instead.
    bindgen -o src/clang/clang_interface.rs --no-copy 'BindgenStringRef.*' --no-copy BindgenSourceRange --translate-enum-integer-types --default-enum-style moduleconsts --no-doc-comments src/clang/clang_interface.hpp -- -I/home/linuxbrew/.linuxbrew/opt/llvm/include/
@kulp kulp force-pushed the clang_tooling_rebased branch from 357c865 to c4e8dfe Compare July 22, 2022 19:28
@bors-servo
Copy link

☔ The latest upstream changes (presumably ef2ee38) made this pull request unmergeable. Please resolve the merge conflicts.

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.

4 participants