Age | Commit message (Collapse) | Author |
|
|
|
When we treat a type as opaque, either because it is explicitly
annotated as such or because it is a template that has a non-type
parameter, we need to check if the size is larger than
RUST_DERIVE_IN_ARRAY_LIMIT.
Performing this check requires information that is up the stack, in the
`Item` rather than in the `CompInfo` or `Type`. Therefore, I introduced
two traits to encapsulate whether a thing can derive `Debug` and `Copy`
(the `CanDeriveDebug` and `CanDeriveCopy` traits, respectively) and
implemented them for ALL THE THINGS. This allowes us to perform our
various checks at the level where we have access to the necessary info,
and to let sub-levels do their own checks with their sub-info.
Fixes #372.
|
|
codegen: Use the canonical type to determine whether we should conver…
…t to a pointer an argument.
Fixes https://github.com/Yamakaky/rust-bindgen/issues/407
r? @fitzgen
|
|
pointer an argument.
Fixes https://github.com/Yamakaky/rust-bindgen/issues/407
|
|
Replace all non-fatal `error!`s with `warn!`s
This fix https://github.com/servo/rust-bindgen/issues/368
|
|
|
|
Update README.md to reflect the current situation
There are several changes:
* Announce that Clang 3.9 is the new default
* Update the install steps for 3.9
* Add installing steps for Windows
* Update stylo's usage of bindgen
|
|
There are several changes:
* Announce that Clang 3.9 is the new default
* Update the install steps for 3.9
* Add installing steps for Windows
* Update stylo's usage of bindgen
|
|
ir: More generic handling of non-deductible auto types.
Also, merge auto-related tests in `auto.hpp`.
r? @upsuper
|
|
|
|
ir: Skip function template earlier.
This fixes #364.
r? @emilio
|
|
This should fix #364.
|
|
Don't assume that base classes are already resolved.
Since it may not be the case.
Fixes #359
Also fixes a few other test cases in the codebase that had the wrong namespace relationship.
r? @fitzgen
|
|
|
|
|
|
|
|
Fixes #359
|
|
It's a bunch of complexity we don't use nor need.
|
|
Multiple cleanups and fix for #355
Fixes #355
Also improves the output of #354.
r? @fitzgen
|
|
|
|
|
|
|
|
|
|
Followed Resolved Type Ref instead of panicking
This could fix #353, but I would really want everyone to review in case I'm missing something important. The compilation continues for the code I'm working with. Also, should I add a regression test for this? I could simply use the code in the referenced issue.
|
|
Only load libclang once, and don't unload it
See the first commit for details.
Second commit is just `cargo fmt`.
r? @emilio
|
|
|
|
not prematurely dropped.
Honestly, I'm still not 100% sure what the root cause of the Clang and
LLVM issues I was seeing were, but when I ensure that we only have one
libclang loaded across all threads and that it is never dropped, the
assertions go away.
Fixes #350.
|
|
|
|
|
|
ir: Handle CXType_Auto.
Fixes #351
|
|
|
|
Bump version.
r? @upsuper
|
|
|
|
Wrap Type into Option
Fix #129
|
|
|
|
codegen: Properly mangle nested anonymous enums with duplicated variants.
r? @fitzgen
|
|
|
|
|
|
Use a feature to control dangling item assertions
These checks are expensive enough that we only want to do them when hacking on
bindgen itself, not anytime someone does a debug build of something that depends
on bindgen.
r? @emilio
|
|
|
|
These checks are expensive enough that we only want to do them when hacking on
bindgen itself, not anytime someone does a debug build of something that depends
on bindgen.
|
|
Properly mangle method names, don't generate destructors.
r? @fitzgen
Fixes a few issues seen in #342
|
|
Add assert for dangling references without an associated ItemId
So I think this is it? Fix issue #209
r? @fitzgen
|
|
|
|
|
|
|
|
Fix an unused_mut warning
|
|
|
|
[rfc] Use a dynamically loaded clang to do as much as we can with old clang versions, and experiment with new ones.
It's a pity that we don't support clang 3.7 and similar for generating C
bindings, when it should be straight-forward.
This change should allow us to support older clang versions, and also
experiment with pre-release clang APIs if needed.
This depends on: https://github.com/KyleMayes/clang-sys/pull/44
|
|
versions, and experiment with new ones.
It's a pity that we don't support clang 3.7 and similar for generating C
bindings, when it should be straight-forward.
This should allow us to support older clang versions, and also experiment with
pre-release clang APIs if needed.
This depends on: https://github.com/KyleMayes/clang-sys/pull/44
|