Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-02-18 | codegen: Use raw pointers rather than references in vtable functions. | Emilio Cobos Álvarez | |
Closes #2163 | |||
2022-02-18 | Put vtable generation behind a flag for now. | Emilio Cobos Álvarez | |
2022-02-18 | Add --allowlist-file option | David Drysdale | |
2022-02-18 | docs: Update CONTRIBUTING.md for clang versions | Darren Kulp | |
2022-02-18 | book: Update Clang references from 3.9 -> 4.0 | Darren Kulp | |
2022-02-18 | tests: Remove clang-3.9 expectations | Darren Kulp | |
2022-02-18 | parser: Simplify handle_function_macro for clang 4.0+ | Darren Kulp | |
2022-02-18 | parser: Simplify parse_macro for clang 4.0+ | Darren Kulp | |
Here we delete a workaround that is no longer needed. | |||
2022-02-18 | clang: Stop accommodating libclang 3.9 | Darren Kulp | |
2022-02-18 | ci: Stop testing libclang 3.9 | Darren Kulp | |
2022-02-18 | Allow fully-qualified derives | Jake Merdich | |
Adding a custom derive like "serde::Deserialize" results in a panic complaining that it is not a valid Ident. Derive params are not identifiers, so treat it as a token stream instead. | |||
2022-02-18 | Fix an erroneous +x bit on a source code file. | Adrian Taylor | |
2022-01-29 | Bump MSRV to 1.54 | Mateusz Mikuła | |
2022-01-29 | Upgrade Clap to version 3 | Mateusz Mikuła | |
2022-01-29 | Mark all vtable functions as `unsafe extern "C"` | Justin Moore | |
2022-01-29 | On second thought, don't generate virtual destructors | Dr. Chat | |
2022-01-29 | Mark all vtable functions as `pub` | Dr. Chat | |
2022-01-29 | Account for virtual destructors | Dr. Chat | |
2022-01-29 | Pass the vtable's base class as the first parameter | Dr. Chat | |
2022-01-29 | Extremely basic Vtable generation | Dr. Chat | |
2021-12-29 | Change into PathBuf | MikuroXina | |
2021-12-29 | Derive some traits | MikuroXina | |
2021-12-29 | More detailed error | MikuroXina | |
2021-12-29 | Remove deprecation and Replace | MikuroXina | |
2021-12-29 | Add non_exhaustive | MikuroXina | |
2021-12-29 | Remove 'error: ' part | MikuroXina | |
2021-12-29 | Merge into new one | MikuroXina | |
2021-12-29 | Replace generate with gen in test | MikuroXina | |
2021-12-29 | Impl Error trait for BindgenError | MikuroXina | |
2021-12-29 | Add BindgenError | MikuroXina | |
2021-12-29 | codegen: Don't automatically derive Debug and Copy for non-rust enums. | Emilio Cobos Álvarez | |
Fixes #2143 | |||
2021-12-12 | Handle difference between clang and rust targets on RISC-V. | Triss Healy | |
2021-12-07 | Add args | MikuroXina | |
2021-12-07 | Fix warnings on tests | MikuroXina | |
2021-12-07 | Add note about RVO in cpp.md | Aapo Alasuutari | |
`bindgen`'s inability to currently support RVO should be noted in C++ bindings generation document. | |||
2021-12-07 | Remove fields never read | MikuroXina | |
2021-11-26 | Bump version.v0.59.2 | Emilio Cobos Álvarez | |
* cexpr+env_logger bump. * Various fixes for C++ crashes / hangs. * Enums now respect annotations and derives properly in more cases. * Some more APIs (blocklist-file, etc). * 'static lifetime is elided when appropriate. | |||
2021-11-26 | Add --blocklist-file option (#2097) | David Drysdale | |
Update Item to hold a `clang::SourceLocation` and use this to allow blocklisting based on filename. The existing code has a special case that always maps <stdint.h> integer types to corresponding Rust integer types, even if the C types are blocklisted. To match this special case behaviour, also treat these C <stdint.h> types as being eligible for derived Copy/Clone/Debug traits. Fixes #2096 | |||
2021-11-26 | Drop 'static for pub const strings for rustc>1.17 | Alberto Planas | |
Constant and static declaration have a 'static live time by default, that is already elided since 1.17. Clippy complains on this kind of strings that are present in the generated code. This patch remove the 'static live time for those strings when rustc > 1.17 via a new added RustFeature. Fix #1612 Signed-off-by: Alberto Planas <aplanas@suse.com> | |||
2021-11-26 | Typo fix: "in side" -> "inside" | follower | |
2021-11-26 | allow custom derives on enums | Eric Seppanen | |
Custom derives are just as useful on enums as they are on structs; not supporting this was an oversight. Adds a test that will fail to compile if the custom derive doesn't work on enums. This test fails without the codegen fix. | |||
2021-10-30 | context: Escape the try keyword properly | Fionera | |
2021-10-27 | Avoid case of a self-referential type alias. | Adrian Taylor | |
This previously produced a type alias which referred to itself, which was clearly wrong and resulted in downstream code recursing infinitely. The problem case (per bug #2102) is: template <typename> class B{}; template <typename c> class C { public: using U = B<c>; }; class A : C<A> { U u; }; As far as I can tell, we parse clang's definition of B<A>; that leads us to parse A; to find it has a field U which turns out to be of type B<A>. And so we hit the line in item.rs which says: debug!("Avoiding recursion parsing type: {:?}", ty); and bail out, returning the original item ID: hence, a self- referential typedef is created. The 'fix' in this PR creates an opaque type in this case instead, to avoid later infinite loops. It would be preferable to avoid this situation in the first place, but presumably that would require us to split the parsing phase into two: 1) types 2) fields within those types. Fixes #2102. | |||
2021-10-27 | Don't generate 2^64 byte padding fields on unions | Theodore Dubois | |
The --explicit-padding flag would make bindgen try to add tail padding to rust unions, by adding up the size of all the union fields and subtracting from the size of the union as given by clang. The total size of a union's fields is always larger than the union, so the subtraction underflowed and bindgen produced padding fields larger than addressable RAM. | |||
2021-10-27 | Avoid transmute | MikuroXina | |
2021-10-27 | Fix separator and treating expression | MikuroXina | |
2021-10-27 | Fix repetetion | MikuroXina | |
2021-10-27 | Fix log args | Mikuroさいな | |
2021-10-27 | Remove trailing semis | Mikuroさいな | |
2021-10-27 | Shorten patterns | MikuroXina | |