Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-12-23 | Switch to FxHash for hash maps and such. | Emilio Cobos Álvarez | |
This isn't such a massive win as I'd have hoped, but it is consistently faster, so there's no reason not to. > ./bindgen-old tests/stylo.hpp --no-rustfmt-bindings > /dev/null 2>&1 6.17s user 0.84s system 98% cpu 7.079 total > ./target/release/bindgen tests/stylo.hpp --no-rustfmt-bindings > /dev/null 2> 5.92s user 0.87s system 98% cpu 6.866 total Which isn't _that_ much but it's quite a bit. | |||
2018-12-02 | codegen: Properly detect bindgen unions. | Emilio Cobos Álvarez | |
The root cause of the issue was the missing: ``` self.saw_bindgen_union |= new.saw_bindgen_union; ``` But I also cleaned up a bit more and removed the unused saw_union. Fixes #1457 | |||
2018-11-30 | Update quote and proc-macro. | Bastien Orivel | |
I give up on the doc comments. This is a rebase of #1334 keeping the formatting of the comments and using TokenStream::from_str instead because one can hope. Fixes #1407. | |||
2018-11-28 | Add source annotation to express explicit derives for a type. | Porter Smith | |
This allows for explicit selection of which traits are derived for a type, e.g. deriving custom traits on particular types that need it. Example usage: ```C++ /// <div rustbindgen derive="Clone"></div> /// <div rustbindgen derive="MyDerivableTrait"></div> struct foo { ... }; ``` generates into ```Rust #[derive(Clone,MyDerivableTrait)] struct foo { ... } ``` | |||
2018-11-27 | Add #[must_use] to functions annotated with __attribute__((warn_unused_result)) | Porter Smith | |
2018-11-07 | Use canonical path for type alias loop detection | Seo Sanghyeon | |
2018-11-06 | codegen: Make the mangling name check work in presence of ↵ | Emilio Cobos Álvarez | |
attribute(overloadable). Fixes #1350 | |||
2018-10-29 | ir: Consistently append implicit template parameters when not using Rust unions. | Emilio Cobos Álvarez | |
Fixes #1429. | |||
2018-10-22 | codegen: Teach bindgen to respect constness of statics. | Emilio Cobos Álvarez | |
2018-10-11 | ir: Ensure everything agrees in which kind of variation an enum generates. | Emilio Cobos Álvarez | |
2018-10-07 | Skip bitfield unit tests on big-endian platforms. | Emilio Cobos Álvarez | |
Fixes #1412. | |||
2018-10-04 | Puts blocks behind a switch. | Emilio Cobos Álvarez | |
Since #1378 broke a bunch of OSX builds. Most people don't care about them and they're in some OSX system headers which means that this could break normal C and C++ stuff. This introduces --generate-block / generate_block to generate these signatures, and adds tests so that this is getting tested. | |||
2018-09-25 | Back out changes | jkozlowski | |
2018-09-25 | Indicate the anonymous lifetime in Formatter. | jkozlowski | |
2018-09-24 | Auto merge of #1396 - tathanhdinh:master, r=emilio | bors-servo | |
PartialOrd and Ord for enum Hello all, This PR tries to fix #1395. Many thanks for any comment. | |||
2018-09-22 | PartialOrd and Ord for enum | TA Thanh Dinh | |
2018-09-22 | codegen: Explicitly align unions if needed. | Emilio Cobos Álvarez | |
Also adds a test header I missed from the previous PR. Fixes #1393 | |||
2018-09-19 | Always force repr(align) attributes for stuff with alignment >= 16 | Emilio Cobos Álvarez | |
To work-around some cases of https://github.com/rust-lang/rust/issues/54341. Other cases where u128 and u64 are mixed in fields might not behave correctly, but the field offset assertions would catch them. Fixes #1370 | |||
2018-09-19 | Teach the float code about u128. | Emilio Cobos Álvarez | |
2018-09-19 | Teach the blob code to generate i128 / u128 if available. | Emilio Cobos Álvarez | |
This is very mechanical and boring, but needed. | |||
2018-09-19 | codegen: Generate u128 / i128 when available. | Emilio Cobos Álvarez | |
2018-09-14 | Fix typo: s/unkown/unknown/ (missing 'n') | Daniel Holbert | |
2018-09-10 | generate type alias for the `block` type | Flier Lu | |
2018-08-28 | Debug implementation: Don't use format! or String when core is enabled | chrysn | |
As --use-core is typically given when the wrapped library is to be used in a no_std environment, format! and String can not be used. This is a quick fix that will cause regressions in the quality of the debug output to users that use core but are not no_std, but enables the use of bindgen with implemented Debug traits to no_std users. Closes: https://github.com/rust-lang-nursery/rust-bindgen/issues/1100 | |||
2018-08-28 | Debug implementation: use core if selected | chrysn | |
Contributes-To: https://github.com/rust-lang-nursery/rust-bindgen/issues/1100 | |||
2018-08-24 | Don't generate a __bindgen_align field if we support repr(align). | Emilio Cobos Álvarez | |
2018-08-19 | Not gnereate binding for variadic function with ms_abi | Jean-Philippe Dufraigne | |
rustc fail to compile variadic function with ms_abi: error[E0045]: variadic function must have C or cdecl calling convention As suggested in issue, this short term fix: not generate binding and emit a warning. Fixes #997 | |||
2018-08-14 | Auto merge of #1366 - gnzlbg:vec, r=emiliov0.38.0 | bors-servo | |
Map vector types to arrays and pass them by value This PR maps vector types to arrays and passes them by value (that is, they are passed to C as `[T; N]`. This already allows defining them as a blacklisted opaque type, such that the user can provide its own definition from e.g. `std::arch`. A subsequent PR should map vector types to unit structs with a private member: ```rust #[repr(align(16))] pub struct __m128([f32; 4]); ``` to make their alignment at least be correct. This should allow transmuting `std::arch` types to these types properly. Once that is done, we probably want to detect the canonical vector types (e.g. `__m128`) and pull in the type from `std`/`core`::arch instead. | |||
2018-08-14 | address review comments | gnzlbg | |
2018-08-14 | Minor stylistic nits after #1362. | Emilio Cobos Álvarez | |
2018-08-14 | address comments | Sébastien Duquette | |
2018-08-14 | Convert CodegenOptions to a bitfield. | Sébastien Duquette | |
2018-08-14 | map vector types to arrays and pass them by value | gnzlbg | |
2018-07-30 | Minor cleanup after #1355. | Emilio Cobos Álvarez | |
2018-07-29 | Use associated constants for rust enums when available | Josh Hejna | |
2018-07-05 | Fix integer_type to actually return integers all the time. | Emilio Cobos Álvarez | |
blob() does care about alignment, so we can get into an architecture where there are integers where size != align. This is a tentative fix for https://github.com/servo/servo/issues/21093, though as mentioned there I couldn't find a repro on my machine. | |||
2018-07-05 | ir: Don't assume wchar is 2 bytes. | Emilio Cobos Álvarez | |
Fixes #1345 | |||
2018-07-01 | codegen: Prevent unused_mut warnings, and fix formatting issues. | Emilio Cobos Álvarez | |
Followup to #1342 | |||
2018-06-28 | Fix bitfields on big-endian machines. | Petr Sumbera | |
Fixes #1340 | |||
2018-06-13 | Fix typos. | Bruce Mitchener | |
2018-06-04 | add --constified-enum to output consts when the default is changed | Daniel Brooks | |
2018-06-04 | remove unnecessary as_ref | Daniel Brooks | |
2018-06-04 | Rename from "enum variant" to "enum style" | Daniel Brooks | |
2018-06-03 | Add an option to set the default codegen style for all enums | Daniel Brooks | |
2018-05-16 | Handle pointer constness at the right level. | Emilio Cobos Álvarez | |
2018-05-03 | codegen: Actually honor the new option for module_lines. | Emilio Cobos Álvarez | |
Only when modules are enabled of course. | |||
2018-04-08 | TemplateParameters.used_template_params doesn't return Option | Tamir Duberstein | |
2018-04-08 | TemplateParameters.all_template_params doesn't return Option | Tamir Duberstein | |
2018-04-08 | TemplateParameters.self_template_params doesn't return Option | Tamir Duberstein | |
2018-04-07 | Auto merge of #1303 - Eijebong:bump, r=emilio | bors-servo | |
Bump quote to 0.5 |