Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-23 | Add option to deduplicate extern blocks (#2258) | Christian Poveda | |
2022-09-23 | Option to wrap union members in ManuallyDrop (#2185) | Poliorcetics | |
2022-09-22 | handle `__attribute__((noreturn))` attribute | Christian Poveda | |
2022-09-22 | handle c++ `[[noreturn]]` attribute | Christian Poveda | |
2022-09-22 | bring back optional cursor kind | Christian Poveda | |
2022-09-22 | document `has_attrs` | Christian Poveda | |
2022-09-22 | document `Attribute` | Christian Poveda | |
2022-09-22 | find all attributes in a single pass | Christian Poveda | |
2022-09-22 | gate `_Noreturn` detection behind `--enable-fucntion-attribute-detection` | Christian Poveda | |
2022-09-22 | add `CxTokenKind` argument to `has_attr` | Christian Poveda | |
2022-09-22 | check for noreturn attribute | Christian Poveda | |
2022-09-22 | add `is_divergent` field | Christian Poveda | |
2022-09-18 | fix `--newtype-global-enum` option | Christian Poveda | |
2022-09-11 | add `--newtype-global-enum` option | Christian Poveda | |
2022-09-09 | add `BindgenOptions::require_syn` method | Christian Poveda | |
2022-09-08 | fix clippy lints | Christian Poveda | |
2022-09-05 | replace the `TraversalPredicate` trait with an alias type | Christian Poveda | |
2022-09-01 | address clippy lints | Christian Poveda | |
2022-08-25 | Generate opaque type for template param dependent bit field width | Collin Baker | |
libclang's API does not provide a straightforward way to check for this, and calling clang_getFieldDeclBitWidth is actively unsafe in this case. See https://github.com/llvm/llvm-project/issues/56644 We probably can't generate reasonable bindings for such a type, so make the binding opaque. Ideally libclang would report if the bit width could not be evaluated. Unfortunately making such a change would mean bumping the minimum libclang version from 6.0 to 15.0. Instead, add logic to traverse the AST subtree starting from the field's bit width specifier looking for template parameters. If we find one, we make the resulting type opaque. | |||
2022-08-25 | Sorting the output semantically (#2254) | Amanjeev Sethi | |
Generated code needs some sorting in a way that is semantically appealing. The request[1] asks for basic sorting like "types are declared first, then all structs, then all consts, then all function signatures, etc. [1] https://github.com/rust-lang/rust-bindgen/issues/1743 Signed-off-by: Amanjeev Sethi <aj@amanjeev.com> Co-authored-by: Christian Poveda <christian.poveda@ferrous-systems.com> Co-authored-by: Darren Kulp <darren@kulp.ch> | |||
2022-08-18 | rustfmt | Christian Poveda | |
2022-08-18 | emit warnings later | Christian Poveda | |
2022-08-18 | remove macro in favor of a method | Christian Poveda | |
2022-08-18 | store warnings and emit them later | Christian Poveda | |
2022-07-27 | adds 'await' to list of matches in 'rust_mangle' | Bryn M. Reeves | |
2022-07-25 | ty: Use canonical type to access pointee. | Emilio Cobos Álvarez | |
Using the canonical type fixes this but changes the output of some tests (in particular, pointer to typedefs now point to the underlying type). So do this only in known-bad cases. Fixes #2244 | |||
2022-07-16 | Don't use `Arg::takes_value` when it's implied by other calls. | Jim Blandy | |
Both `Arg::value_name` and `Arg::number_of_values` imply `Arg::takes_value`, so those calls are just noise. | |||
2022-07-16 | Add revision suggestion for MSRV >= 1.59.0 | onalante-msft | |
2022-07-16 | Extract pointer once for all alignment tests | onalante-msft | |
2022-07-16 | Only insert uninit_decl if check_field_offset is non-empty | onalante-msft | |
2022-07-16 | rustfmt | onalante-msft | |
2022-07-16 | Remove functions, use same uninit for all field tests | onalante-msft | |
2022-07-16 | Place field alignment test functions before statements | onalante-msft | |
Clears clippy::items_after_statements warning for tests. | |||
2022-06-06 | codegen: tests: Put each individual field test in a function. | Emilio Cobos Álvarez | |
So that rustc doesn't take too much stack space without optimizations. Fixes #2218 | |||
2022-06-05 | options: Implement --version manually and print clang version on --version ↵ | Emilio Cobos Álvarez | |
--verbose Fixes #2138 | |||
2022-06-05 | Fix some clippy warnings | Darren Kulp | |
cargo clippy --fix --tests cargo +nightly fmt | |||
2022-06-05 | ir: Centralize must_use checks and simplify codegen. | Emilio Cobos Álvarez | |
2022-06-05 | Look for `must_use` on typdefs in function return | Ian Chamberlain | |
Closes #2206 | |||
2022-05-17 | Fix "dereferencing a null pointer" in C layout tests | Gavin Li | |
Instead of dereferencing a null pointer, create a MaybeUninit from which we can extract well-defined addresses. | |||
2022-05-08 | Derive from any other trait only when deriving from Copy | Michal Rostecki | |
It's impossible to #[derive] from any other trait when not deriving from Copy when using the newest Rust nightly. Any attempt to do that results in the following error: error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) Fixes: #2083 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com> | |||
2022-04-19 | Use common type alias for anonymous enums in consts mode | Alan Wu | |
Previously, anonymous enums generated a type alias but did not use it. For example the following: ```C enum { ZERO, ONE = 4999, }; ``` Generated this: ```Rust /* automatically generated by rust-bindgen 0.59.2 */ pub const ZERO: ::std::os::raw::c_uint = 0; pub const ONE: ::std::os::raw::c_uint = 4999; pub type _bindgen_ty_1 = ::std::os::raw::c_uint; ``` For use cases where humans look at bindgen's Rust output this was a little strange since it's a deviation from how the Rust output for named enums is organized, where all constants share the same type using the type alias. The unused type alias also triggered the dead_code lint. Change to use the generated type alias. | |||
2022-03-15 | codegen: Fix minor clippy warning. | Emilio Cobos Álvarez | |
2022-03-15 | add attributes to dynamic functions | Emil Gardström | |
this includes comments and must_use annotations | |||
2022-03-15 | tests: Remove testing_only_libclang_4 and expectations | Darren Kulp | |
2022-03-15 | ir: Make TargetInfo::new infallible | Darren Kulp | |
Now that we require Clang 5.0, there is no way for this function to return None. | |||
2022-03-15 | clang: Stop accommodating libclang 4.0 | Darren Kulp | |
Closes #2166 | |||
2022-03-15 | codegen: Simplify abi support condition. | Emilio Cobos Álvarez | |
2022-03-15 | Added support for `vectorcall` ABI | David Cole | |
2022-03-15 | Fix macOS test expectations | Sebastian Imlay | |
* Updated tests/expectations/Cargo.toml to use 2018 rust. * Added Debug and Copy to objective-c structs. * Fixed lifetimes in objective-c trait templates. * Fixed imports for objective-c expectations tests. | |||
2022-02-18 | BINDGEN_EXTRA_CLANG_ARGS for dump_preprocessed_input. | Nicklas Boman | |
Fixes #1723 |