Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-28 | Merge pull request #2287 from goffrie/dont-traverse-stdint | Christian Poveda | |
Don't traverse through special-cased <stdint.h> types. | |||
2022-09-28 | Don't traverse through special-cased <stdint.h> types. | Geoffry Song | |
2022-09-27 | Merge pull request #2282 from ferrous-systems/sovereign-module-of-syn | Christian Poveda | |
Move codegen postprocessing to its own module | |||
2022-09-27 | split `processing` module | Christian Poveda | |
2022-09-26 | s/static/const | Christian Poveda | |
2022-09-26 | update CONTRIBUTING.md | Christian Poveda | |
2022-09-26 | Merge remote-tracking branch 'emilio/less-macro-magic' into ↵ | Christian Poveda | |
sovereign-module-of-syn | |||
2022-09-23 | Clean-up postprocessing to use less macro magic. | Emilio Cobos Álvarez | |
2022-09-23 | update `CONTRIBUTING.md` section about `syn` | Christian Poveda | |
2022-09-23 | move codegen postprocessing to its own module | Christian Poveda | |
2022-09-23 | Merge pull request #2283 from ferrous-systems/remove-file | Christian Poveda | |
Remove file added by mistake | |||
2022-09-23 | remove file added by mistake | Christian Poveda | |
2022-09-23 | Merge pull request #2278 from ferrous-systems/size_t | Christian Poveda | |
Map size_t to usize by default and check compatibility [Rebased] | |||
2022-09-23 | Map size_t to usize by default and check compatibility (fixes #1901, #1903) | Geoffrey Thomas | |
This addresses the underlying issue identified in #1671, that size_t (integer that can hold any object size) isn't guaranteed to match usize, which is defined more like uintptr_t (integer that can hold any pointer). However, on almost all platforms, this is true, and in fact Rust already uses usize extensively in contexts where size_t would be more appropriate, such as slice indexing. So, it's better for ergonomics when interfacing with C code to map the C size_t type to usize. (See also discussion in rust-lang/rust#65473 about how usize really should be defined as size_t, not uintptr_t.) The previous fix for #1671 removed the special case for size_t and defaulted to binding it as a normal typedef. This change effectively reverts that and goes back to mapping size_t to usize (and ssize_t to isize), but also ensures that if size_t is emitted, the typedef'd type of size_t in fact is compatible with usize (defined by checking that the size and alignment match the target pointer width). For (hypothetical) platforms where this is not true, or for compatibility with the default behavior of bindgen between 0.53 and this commit, onwards, you can disable this mapping with --no-size_t-is-usize. | |||
2022-09-23 | update `CONTRIBUTING.md` section about `syn` | Christian Poveda | |
2022-09-23 | move codegen postprocessing to its own module | Christian Poveda | |
2022-09-22 | features: Bump LATEST_STABLE_RUST after #2267. | Emilio Cobos Álvarez | |
2022-09-22 | update to rust 1.64 | Christian Poveda | |
2022-09-22 | put tests behind the `nightly` feature | Christian Poveda | |
2022-09-22 | use `#[feature(core_ffi_c)]` when available | Christian Poveda | |
2022-09-22 | test: add test for GH-422 | Amanjeev Sethi | |
GitHub issue 422 was fixed but needs a test. https://github.com/rust-lang/rust-bindgen/issues/422 Signed-off-by: Amanjeev Sethi <aj@amanjeev.com> | |||
2022-09-22 | codegen: Implement manuallydrop fields better. | Emilio Cobos Álvarez | |
This doesn't change behavior but makes the code make more sense. | |||
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 | add the `-- -std=c++11` flag | Christian Poveda | |
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 | add tests | 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 | document usage of `syn` in `CONTRIBUTING.md` | 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 | test warning emission | Christian Poveda | |
2022-08-18 | store warnings and emit them later | Christian Poveda | |