third_party_rust_bindgen/bindgen
Christian Poveda Ruiz 2be14a3345
Generate extern wrappers for inlined functions (#2335)
* 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-07 10:13:48 -05:00
..
codegen Generate extern wrappers for inlined functions (#2335) 2023-02-07 10:13:48 -05:00
ir Generate extern wrappers for inlined functions (#2335) 2023-02-07 10:13:48 -05:00
build.rs split the repo into a workspace 2022-10-04 20:47:17 -05:00
callbacks.rs Implement cli option for custom derive (#2328) 2023-01-20 15:12:42 -05:00
Cargo.toml Generate extern wrappers for inlined functions (#2335) 2023-02-07 10:13:48 -05:00
clang.rs clang: Detect anonymous items explicitly, rather than relying on empty names. 2022-10-22 14:24:01 +02:00
deps.rs split the repo into a workspace 2022-10-04 20:47:17 -05:00
extra_assertions.rs split the repo into a workspace 2022-10-04 20:47:17 -05:00
features.rs Deprecate Rust targets lower or equal than 1.30 (#2356) 2022-11-22 12:31:14 -05:00
lib.rs Generate extern wrappers for inlined functions (#2335) 2023-02-07 10:13:48 -05:00
LICENSE add LICENSE symlinks to all individually published crates 2022-11-17 14:35:56 +01:00
log_stubs.rs split the repo into a workspace 2022-10-04 20:47:17 -05:00
parse.rs Remove traits that have a single implementation (#2363) 2022-11-24 11:17:08 -05:00
regex_set.rs Implement cli option for custom derive (#2328) 2023-01-20 15:12:42 -05:00
time.rs split the repo into a workspace 2022-10-04 20:47:17 -05:00