summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-27codegen: Don't generate conflicting packed() and align() representation hints.HEADmasterEmilio Cobos Álvarez
Fixes #2240
2023-02-16(no commit message)github-actions[bot]
2023-02-16Add warning section to build dependency tutorial doc (#2413)jahs-tech
2023-02-16(no commit message)github-actions[bot]
2023-02-16Also de-duplicate functions with wrapped static functions feature (#2416)Urgau
2023-02-16(no commit message)github-actions[bot]
2023-02-16Add support for enums with the wrapped static functions feature (#2415)Urgau
2023-02-16(no commit message)github-actions[bot]
2023-02-16Fix typo in bitfields documentation (#2412)jahs-tech
"Far each ..." should be "For each ..."
2023-02-10(no commit message)github-actions[bot]
2023-02-10Update `quickcheck` version (#2411)Christian Poveda Ruiz
This is done to deal with the existing vulnerabilities in older versions of `thread_local` and `regex`
2023-02-10(no commit message)github-actions[bot]
2023-02-10 Disallow constant values that were changed in clang 15 (#2410)Christian Poveda Ruiz
* Disallow constant values that could cause problems with clang 15 * Fix clippy warnings
2023-02-09(no commit message)github-actions[bot]
2023-02-09Remove deprecated flags (#2408)Christian Poveda Ruiz
2023-02-09(no commit message)github-actions[bot]
2023-02-09Remove unnecessary `./` (#2407)Christian Poveda Ruiz
2023-02-07(no commit message)github-actions[bot]
2023-02-07Release 0.64.0 Request (#2399)v0.64.0Justin W Smith
Prepare 0.64.0 Release --------- Co-authored-by: Christian Poveda <christian.poveda@ferrous-systems.com>
2023-02-07(no commit message)github-actions[bot]
2023-02-07Generate extern wrappers for inlined functions (#2335)Christian Poveda Ruiz
* Generate extern wrappers for inlined functions If bindgen finds an inlined function and the `--generate-extern-functions` options is enabled, then: - It will generate two new source and header files with external functions that wrap the inlined functions. - Rerun `Bindings::generate` using the new header file to include these wrappers in the generated bindings. The following additional options were added: - `--extern-function-suffix=<suffix>`: Adds <suffix> to the name of each external wrapper function (`__extern` is used by default). - `--extern-functions-file-name=<name>`: Uses <name> as the file name for the header and source files (`extern` is used by default). - `--extern-function-directory=<dir>`: Creates the source and header files inside <dir> (`/tmp/bindgen` is used by default). The C code serialization is experimental and only supports a very limited set of C functions. Fixes #1090. --------- Co-authored-by: Amanjeev Sethi <aj@amanjeev.com>
2023-02-06(no commit message)github-actions[bot]
2023-02-06Fix wrong entry in changelog (#2404)Christian Poveda Ruiz
2023-01-25(no commit message)github-actions[bot]
2023-01-25Add *-espidf target triple mappings (#2397)Josh Guilfoyle
Fixes #2396. This makes it possible to workaround cc/bindgen issues with esp-rs projects by using only environment varaibles (TARGET_CC, CLANG_PATH, etc). Without this, it requires modifying each crate's build.rs that you try to depend on to add a target option passed along to clang.
2023-01-20(no commit message)github-actions[bot]
2023-01-20Implement cli option for custom derive (#2328)Dan Dumont
* custom derives after DeriveInfo * Introduce `TypeKind` instead of `CompKind` * Add tests * Emit CLI flags for callbacks * update changelog * run rustfmt * fix tests * fix features Co-authored-by: Christian Poveda <christian.poveda@ferrous-systems.com>
2023-01-18(no commit message)github-actions[bot]
2023-01-18Migrate CLI argument parse to the clap `derive` API (#2390)Christian Poveda Ruiz
* Migrate CLI argument parsing to the derive API * Fix docs * Fix tests * Use `override_usage` * Update changelog
2023-01-18(no commit message)github-actions[bot]
2023-01-18Remove any references to `master` (#2391)Christian Poveda Ruiz
2023-01-16Add trigger for push to `main` branch for sync'ing with `master` (#2387)Amanjeev Sethi
* gh action for merging main to master on pr merge * remove pull_request as trigger. only use push, that is after merging the pull_request
2023-01-12Update to clap 4. (#2380)Andrew Walbran
* Update to clap 4. * Bump MSRV to minimum required by clap 4. * Mention clap update in CHANGELOG.
2023-01-10Document semantic difference between constructors and wrappers (#2385)Christian Poveda Ruiz
2023-01-08fix: test runner for fuzzy tests and update documentationAmanjeev Sethi
Signed-off-by: Amanjeev Sethi <aj@amanjeev.com>
2023-01-06codegen: Look through typedefs to detect void return type. (#2379)Emilio Cobos Álvarez
* codegen: Look through typedefs to detect void return type. And reuse a bit more code. Should fix #2377, but needs a test (can't run tests atm). * Add tests * Run rustfmt * Update changelog Co-authored-by: Christian Poveda <christian.poveda@ferrous-systems.com>
2022-12-16Run doctoc (#2376)Christian Poveda Ruiz
2022-12-15Document how to format code (#2375)Christian Poveda Ruiz
* Document how to format code * Fix typo * Fix formatting * Ignore code snippet
2022-12-15Extend documentation about deprecation of wildcard patterns (#2374)Christian Poveda Ruiz
2022-12-09Fix clippy warnings (#2371)Christian Poveda Ruiz
2022-12-07Bump `clang-sys` version (#2368)Christian Poveda Ruiz
* Bump `clang-sys` version * add libtinfo5 package to fix CI
2022-12-07codegen: Do generate field offset checks for classes with multiple bases.Emilio Cobos Álvarez
The bug only affects virtual inheritance, so instead disable layout tests in the test that we know is broken. Not generating layout tests is wrong anyways, because the offset would be wrong.
2022-11-28Document callback changes and avoid static lifetime (#2366)Christian Poveda Ruiz
2022-11-28Extend `generated_name_override` callback to variables (#2351)Justin W Smith
* This change updates `ParseCallbacks::generated_name_override` to accept a second parameter indicating the kind of item the name applies to (currently, either `Function` or `Var`). * A `CallbackItemKind` enum was added to serve as the type for this second parameter. * Tests have been updated to verify that the names of both function and variable can be updated by this callback.
2022-11-28Update CHANGELOG.md (#2365)Christian Poveda Ruiz
2022-11-28Fix name collision between C enum and typedef (#2326)David Tolnay
Fixes #2008. Example: ```c enum Enum { Variant }; typedef int16_t Enum; ``` This is valid and idiomatic C (though not valid C++). `cbindgen` uses this idiom as the default C translation of Rust enums, the equivalent of what would be `enum Enum : int16_t { Variant };` in C++. `bindgen header.h` before: ```rust pub const Enum_Variant: Enum = 0; pub type Enum = ::std::os::raw::c_uint; pub type Enum = i16; ``` ```console error[E0428]: the name `Enum` is defined multiple times --> generated.rs:3:1 | 2 | pub type Enum = ::std::os::raw::c_uint; | --------------------------------------- previous definition of the type `Enum` here 3 | pub type Enum = i16; | ^^^^^^^^^^^^^^^^^^^^ `Enum` redefined here | = note: `Enum` must be defined only once in the type namespace of this module ``` After: ```rust pub const Enum_Variant: Enum = 0; pub type Enum = i16; ```
2022-11-24Remove traits that have a single implementation (#2363)Christian Poveda Ruiz
2022-11-24Fix clippy warnings (#2362)Christian Poveda Ruiz
2022-11-23Escape method fragments that happen to be rust keywords (#2359)Christian Poveda Ruiz
2022-11-22CONTRIBUTING: Add docs for doing a release. (#2358)v0.63.0Emilio Cobos Álvarez