summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-04-06Auto merge of #1294 - marty-se:master, r=fitzgenbors-servo
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.
2018-04-04Bump quote to 0.5 and proc_macro2 to 0.3Bastien Orivel
2018-04-03Revert "Revert "Bump quote to 0.4""Bastien Orivel
This reverts commit eb415c7a7cf8c72664dbfda5a614474cda5c185c.
2018-04-03codegen: Don't skip alignment checks if we support repr align.Emilio Cobos Álvarez
Plus fix the check that avoids us generating explicit alignment fields for structs aligned to more than pointer-size. Fixes #1291
2018-04-03codegen: Use target pointer size consistently for layout calculations.Emilio Cobos Álvarez
Closes #1284
2018-04-03ir: Grab target information from clang.Emilio Cobos Álvarez
2018-04-02Link to the user's guide from the docs and manifestMatt Brubeck
2018-04-02Auto merge of #1288 - emilio:bye-links, r=pepyakinbors-servo
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
2018-04-02Whitelist inner types of whitelisted types even with no-recursive-whitelisting.Martin Karlgren
This fixes issue #1285 where inner types were code generated but not properly processed by the derive analysis.
2018-04-01feature guard rather than optionM Farkas-Dyck
2018-04-01optionally use associated constants in bitfieldsM Farkas-Dyck
2018-03-31ir: Remove an assertion that happens to be invalid.Emilio Cobos Álvarez
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
2018-03-31options: Remove the linking-related options.Emilio Cobos Álvarez
They do nothing, and are effectively superseded by --raw-line and friends. They also tend to confuse people. Closes #104
2018-03-17Handle bitfield enum pattern aliasingTravis Finkenauer
The previous fix for issue #1198 was incomplete.
2018-03-13Auto merge of #1272 - tmfink:issue-1198, r=emiliobors-servo
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.
2018-03-13tests: Test repr(align()) only on nightly for now, make it 1.25 to reflect ↵Emilio Cobos Álvarez
reality.
2018-03-13Add a kill-switch for untagged unions.Emilio Cobos Álvarez
Otherwise we can't use repr(align) on stylo.
2018-03-13codegen: support repr(align).Emilio Cobos Álvarez
Fixes #917
2018-03-12Document enum variation precedenceTravis Finkenauer
2018-03-11Fix bug when enum matched multiple typesTravis Finkenauer
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
2018-03-05Auto merge of #1268 - emilio:enum-replace, r=fitzgenbors-servo
ir: Allow replacing enums and enum variants. Fixes #1267.
2018-03-04Untry.Emilio Cobos Álvarez
Use the ? operator instead of try, and add some more uses of it on Option<> that were straight-forward.
2018-03-04ir: Allow renaming variants using the replaces="" annotation or a custom ↵Emilio Cobos Álvarez
callback.
2018-03-04ir: Allow replacing enums.Emilio Cobos Álvarez
2018-03-04codegen: Avoid &String.Emilio Cobos Álvarez
2018-02-26lib: Use #[deprecated] properly.Emilio Cobos Álvarez
Fixes #1258
2018-02-14Merge pull request #1256 from fitzgen/fix-missing-dylibs. r=emilioEmilio Cobos Álvarez
Fix missing dylibs
2018-02-14Revert "Bump quote to 0.4"Nick Fitzgerald
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
2018-02-14Check for more common C++ header file extensionsSander Maijers
Also, perform `clang` parameter check earlier. If that results in `is_cpp == true`, the later `|=` operations could be elided.
2018-02-13Merge pull request #1253 from Eijebong/log. r=emilioEmilio Cobos Álvarez
Update log to 0.4 and bump version
2018-02-13Update log to 0.4 and bump versionBastien Orivel
2018-02-12codegen: Expose variant comments.Emilio Cobos Álvarez
2018-02-04ir: Make macro constants not being architecture-dependent.Emilio Cobos Álvarez
Fixes #1185
2018-01-31Auto merge of #1243 - emilio:parse-callbacks, r=fitzgenbors-servo
callbacks: Introduce MacroParsingBehavior to allow ignoring macros. This is symmetric, yet less powerful, than enum_variant_behavior. Fixes #687.
2018-01-31callbacks: Introduce MacroParsingBehavior to allow ignoring macros.Emilio Cobos Álvarez
This is symmetric, yet less powerful, than enum_variant_behavior. Fixes #687.
2018-01-29Auto merge of #1241 - emilio:fwd-decl-no-fun, r=fitzgenbors-servo
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
2018-01-29Auto merge of #1240 - emilio:virtual-dtor-fix, r=fitzgenbors-servo
ir: Choose the right mangling for destructors on all codepaths. Fixes #1133.
2018-01-29codegen: Make forward declarations go through the more generic path.Emilio Cobos Álvarez
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
2018-01-29ir: Choose the right mangling for destructors on all codepaths.Emilio Cobos Álvarez
Fixes #1133.
2018-01-29codegen: Make the cyclic typedef name detection catch more cases.Emilio Cobos Álvarez
By looking through typedefs, we also catch more complex cases like the ones that appear on Android's stdlib. Fixes #946
2018-01-27Support str as input to Builder::no_* functionsRyan Osial
Previously, only String was supported on these while other functions in Builder worked with both str and String
2018-01-26lib: Add a way to override rustfmt path.Emilio Cobos Álvarez
I'll need it to format some stuff on mozilla-central.
2018-01-23Bump quote to 0.4Bastien Orivel
2018-01-22codegen: Try to reasonably handle enum : bool.Emilio Cobos Álvarez
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
2018-01-19Auto merge of #1228 - emilio:repr-c-enums, r=fitzgenbors-servo
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
2018-01-19codegen: Don't generate repr(C) for enums.Emilio Cobos Álvarez
That's only undefined for enums with fields. Fixes #1224 See also: https://botbot.me/mozilla/rustc/2018-01-19/?msg=95934948&page=2
2018-01-19ir: Handle _Complex _Float128 correctly.cris-b
Unfortunately we can't test it for the same alignment issues that "long double" has. Fixes #1087
2018-01-16ir: Give more info for the non-floating type complex type message.Emilio Cobos Álvarez
2018-01-09Make CARGO_PKG_VERSION option_env!, rather than env!Alex McArther
2018-01-06codegen: Be consistent about variadic signatures.Emilio Cobos Álvarez
Fixes #1216.