-
Notifications
You must be signed in to change notification settings - Fork 745
Getting tests passing with libclang >= 5.0 #615
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
Comments
cc @emilio opinions here? |
This is exactly the opposite, this is getting the same results as we'd get with libclang 3.8, which is sad :( |
Can you file an upstream bug report before this behavior gets frozen in 5.X? |
I can't repro it with llvm trunk though |
It is quite possible I messed up which libclang I had installed after tons of bisecting + testing different versions yesterday... |
This should be basically #615, so let's use that :) |
All that is needed to get libclang 4.0 tests passing is fixing the regression in #585.
With that regression manually patched, for libclang >= 5.0, there are just a few more things.
Constants
It looks like we get different (more?) info about constants, and so we get a bunch of different test results that don't match our extant expectations:
This seems fine by itself, but the question is how to get this (and related) tests passing.
Different expectations for different libclang versions? And then update them via pushing to CI to get the diffs to apply manually if one doesn't have all the different libclang versions we support handy?
Extend + generalize our
// bindgen-unstable
thing to// libclang-3.9
,// libclang-4
,// libclang-5
, etc?stdcall stuff
Not 100% sure what's up here.
We get this warning from libclang:
rust-bindgen/tests/headers/call-conv-field.h:10:16: warning: function with no prototype cannot use the stdcall calling convention [-Wmissing-prototype-for-cc], err: false
.And then we get this test expectation diff:
This seems like maybe something we just need to fix in the header itself?
Slightly better understanding of random template code than 3.9 and 4
Here we seem to get slightly more useful information out of clang and generate more IR items, resulting in different test numbering, and method generation that we otherwise wouldn't.
Again, the changes in code generation seem fine, but we need to figure out what our desired approach for testing across libclang versions should be.
The text was updated successfully, but these errors were encountered: