Age | Commit message (Collapse) | Author |
|
Whitelist inner types of whitelisted types even with no-recursive-whitelisting.
This fixes issue #1285 where inner types were code generated but not properly processed by the derive analysis.
|
|
|
|
This reverts commit eb415c7a7cf8c72664dbfda5a614474cda5c185c.
|
|
Plus fix the check that avoids us generating explicit alignment fields for
structs aligned to more than pointer-size.
Fixes #1291
|
|
Closes #1284
|
|
|
|
|
|
options: Remove the linking-related options.
They do nothing, and are effectively superseded by --raw-line and friends.
They also tend to confuse people.
Closes #104
|
|
This fixes issue #1285 where inner types were code generated but not properly
processed by the derive analysis.
|
|
|
|
|
|
You can define a struct declared in an outer scope inside another struct, and
the compiler won't even complain...
C, what a language.
Fixes #1281
|
|
They do nothing, and are effectively superseded by --raw-line and friends.
They also tend to confuse people.
Closes #104
|
|
The previous fix for issue #1198 was incomplete.
|
|
Declare precedence on enum types
Fixes issue #1198 where an enum matches the pattern for multiple enum types, such as constified module enum AND rustified enum.
Documents precedence in `Builder` doc comment.
|
|
reality.
|
|
Otherwise we can't use repr(align) on stylo.
|
|
Fixes #917
|
|
|
|
If an enum matched a pattern for rustified enum and constified module
enum, then rust code would fail to compile with "ambiguous associated
type" error. We fix the error by giving constified module enum "higher
precedence".
Fixes issue #1198
|
|
ir: Allow replacing enums and enum variants.
Fixes #1267.
|
|
Use the ? operator instead of try, and add some more uses of it on Option<> that
were straight-forward.
|
|
callback.
|
|
|
|
|
|
Fixes #1258
|
|
Fix missing dylibs
|
|
This reverts commit 6899c275ee0ab0687ec66c490ddd1a76f8223513.
The `proc_macro2` crate depends on rustc internal crates, which means that
`bindgen` would need to be run under `rustup`.
We can follow https://github.com/rust-lang/rust/issues/47931 to get updates on
when this issue might be resolved and we can update `quote` again.
Fixes #1248
|
|
Also, perform `clang` parameter check earlier. If that results in `is_cpp == true`, the later `|=` operations could be elided.
|
|
Update log to 0.4 and bump version
|
|
|
|
|
|
Fixes #1185
|
|
callbacks: Introduce MacroParsingBehavior to allow ignoring macros.
This is symmetric, yet less powerful, than enum_variant_behavior.
Fixes #687.
|
|
This is symmetric, yet less powerful, than enum_variant_behavior.
Fixes #687.
|
|
codegen: Make forward declarations go through the more generic path.
Instead of special-casing.
This allows to use the normal flags to control what can be or not derived for
them.
Arguably deriving Copy / Clone is kind of busted for those, but changing this by
default broke tests (RefPtr<ForwardDeclaredType> stopped working for example).
So I think this is a good compromise.
Fixes #1238
|
|
ir: Choose the right mangling for destructors on all codepaths.
Fixes #1133.
|
|
Instead of special-casing.
This allows to use the normal flags to control what can be or not derived for
them.
Arguably deriving Copy / Clone is kind of busted for those, but changing this by
default broke tests (RefPtr<ForwardDeclaredType> stopped working for example).
So I think this is a good compromise.
Fixes #1238
|
|
Fixes #1133.
|
|
By looking through typedefs, we also catch more complex cases like the ones that
appear on Android's stdlib.
Fixes #946
|
|
Previously, only String was supported on these while other
functions in Builder worked with both str and String
|
|
I'll need it to format some stuff on mozilla-central.
|
|
|
|
Just use the repr name we generate, since we generate constants for that.
It's not worth trying to guess the actual type to use IMO.
Bindings lose a bit of portability I guess, but that's really a lost bet
already, so instead of special-casing bool and map constants, let's use a
consistent representation everywhere.
Fixes #1145
|
|
codegen: Don't generate repr(C) for enums.
That's only undefined for enums with fields.
Fixes #1224
See also: https://botbot.me/mozilla/rustc/2018-01-19/?msg=95934948&page=2
|
|
That's only undefined for enums with fields.
Fixes #1224
See also: https://botbot.me/mozilla/rustc/2018-01-19/?msg=95934948&page=2
|
|
Unfortunately we can't test it for the same alignment issues that "long double"
has.
Fixes #1087
|
|
|
|
|
|
Fixes #1216.
|