summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-24Update README.mdChristian Poveda Ruiz
2022-10-24Avoid suppressing panic messages (#2323)Christian Poveda Ruiz
* print `PanicInfo` using hook * update changelog
2022-10-24Sanitize RegexSet input so alternation is properly handled (#1756)Adam Gausmann
* tests: Avoid using globs as regexes * Sanitize regex set input to properly handle alternation * Add test case for alternates/anchors interaction * emit warning if wildcard pattern is used * update changelog and bump versions Co-authored-by: Darren Kulp <darren@kulp.ch> Co-authored-by: Christian Poveda <christian.poveda@ferrous-systems.com>
2022-10-24Merge pull request #2321 from GKFX/private_fieldsChristian Poveda Ruiz
Document visibility annotation
2022-10-23Make doctests passGeorge Bateman
2022-10-23Document visibility annotationGeorge Bateman
2022-10-22Remove Travis-CI badgesDarren Kulp
Travis-CI was fully removed as of faf8b3edbaeb591315fc6f370c1228b8caf9860f. The only badge now [mentioned in the Cargo book][1] is `maintenance`. The `travis-ci` badge reference was [removed from Cargo two years ago][2]. The Cargo book advises putting badges in README.md instead. [1]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-badges-section [2]: https://github.com/rust-lang/cargo/commit/60779a006f98fba1680182c174134363d08e0a9b
2022-10-22clang: Detect anonymous items explicitly, rather than relying on empty names.Emilio Cobos Álvarez
In Clang 16, anonymous items may return names like `(anonymous union at ..)` rather than empty names. The right way to detect them is using clang_Cursor_isAnonymous. Fixes #2312 Closes #2316 Co-Authored-by: Patrick Walton <pcwalton@fb.com>
2022-10-22Use panic hooks instead of using `catch_unwind`Christian Poveda
One of the advantages of doing this is that `ParseCallbacks` no longer needs to implement `UnwindSafe` which means that users can rely on `RefCell` and `Cell` to extract information from the callbacks. Users relying on `catch_unwind` can still achieve similar behavior using `std::thread::spawn`. Fixes #2147.
2022-10-20Merge pull request #2315 from ferrous-systems/book-custom-targetChristian Poveda Ruiz
Add FAQ about custom targets
2022-10-20add FAQ about custom targetsChristian Poveda
2022-10-18Merge pull request #2313 from ferrous-systems/fix-clippy-lintsChristian Poveda
Fix clippy lints
2022-10-18fix clippy lintsChristian Poveda
2022-10-16Specify readme properly.Emilio Cobos Álvarez
2022-10-16v0.61.0Emilio Cobos Álvarez
2022-10-16ci: clippy fixes.Emilio Cobos Álvarez
The allowed casts are because c_longlong etc aren't guaranteed to map to i64 / etc. I believe c_double maps to f64 in all platforms tho.
2022-10-16Add a few missing changelog entries.Emilio Cobos Álvarez
2022-10-16Remove no-longer-correct include entry in Cargo.toml.Emilio Cobos Álvarez
2022-10-16Move the csmith-fuzzing directory to the top level.Emilio Cobos Álvarez
2022-10-16Handle incomplete external array constantsChristian Poveda
This adds a new special case for constants like: ```c extern const char some_static_string[]; ``` so `bindgen` emits a `static` instead of a `static mut` for them.
2022-10-12Merge pull request #2302 from ferrous-systems/clonable-builderChristian Poveda
Implement `Clone` for `Builder`
2022-10-10Merge pull request #2299 from ferrous-systems/more-robust-postprocessingChristian Poveda
Make postprocessing more robust
2022-10-07Implement `Clone` for `Builder`Christian Poveda
This is done by moving all the remaining `Builder` state into `BindgenOptions` so any internal logic that affects `Builder` state only runs once the builder is consumed by `Builder::generate`: - move `input_headers` to `BindgenOptions`. - move `input_header_contents` to `BindgenOptions`. - derive `Clone` for `Builder`.
2022-10-07update `CHANGELOG.md` (#2298)Christian Poveda
2022-10-06Make postprocessing more robustChristian Poveda
This is done by merging extern blocks and sorting items in every module instead of just in the root module. The tests were changed to use `cxx` namespaces so they effectively check that items are manipulated correctly in every single module.
2022-10-06Merge pull request #2228 from justsmth/generated_name_overrideChristian Poveda
Generated name override
2022-10-06Merge branch 'master' into generated_name_overrideJustin Smith
2022-10-05context: Fix tokenization of C++20 inline namespace. (#2294)Emilio Cobos Álvarez
Fixes #2293
2022-10-04Merge pull request #2284 from ferrous-systems/bindgen-as-workspaceChristian Poveda
Bindgen as a workspace
2022-10-04split the repo into a workspaceChristian Poveda
remove `clap` dependency :tada: update the book installation instructions
2022-10-03Merge pull request #2291 from ferrous-systems/fix-clippy-lintsChristian Poveda
Address clippy lints
2022-10-03address clippy lintsChristian Poveda
2022-10-03Merge pull request #2285 from ferrous-systems/clone-optionsChristian Poveda
Make `BindgenOptions` clonable
2022-10-03remove referenceChristian Poveda
2022-10-02Enables blocklisting of Objective-C methodsCameron Mulhern
2022-09-28Merge pull request #2287 from goffrie/dont-traverse-stdintChristian Poveda
Don't traverse through special-cased <stdint.h> types.
2022-09-28Don't traverse through special-cased <stdint.h> types.Geoffry Song
2022-09-27Merge pull request #2282 from ferrous-systems/sovereign-module-of-synChristian Poveda
Move codegen postprocessing to its own module
2022-09-27split `processing` moduleChristian Poveda
2022-09-26make `BindgenOptions` clonableChristian Poveda
2022-09-26s/static/constChristian Poveda
2022-09-26update CONTRIBUTING.mdChristian Poveda
2022-09-26Merge remote-tracking branch 'emilio/less-macro-magic' into ↵Christian Poveda
sovereign-module-of-syn
2022-09-23Clean-up postprocessing to use less macro magic.Emilio Cobos Álvarez
2022-09-23update `CONTRIBUTING.md` section about `syn`Christian Poveda
2022-09-23move codegen postprocessing to its own moduleChristian Poveda
2022-09-23Merge pull request #2283 from ferrous-systems/remove-fileChristian Poveda
Remove file added by mistake
2022-09-23remove file added by mistakeChristian Poveda
2022-09-23Merge pull request #2278 from ferrous-systems/size_tChristian Poveda
Map size_t to usize by default and check compatibility [Rebased]
2022-09-23Map 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.