summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-20v0.59.0v0.59.0Emilio Cobos Álvarez
2021-07-19Bump cexpr to 0.5Anthony Ramine
2021-07-16Let Rust derive everything but Default for large arrays in 1.47 and laterIan P. Cooke
Fixes #1977 as of rust-lang/rust#74060 is available since Rust 1.47 Fixes #2041. Closes #2070.
2021-07-16add test for add_derivesEric Seppanen
This test derives PartialEq for the Test struct, and then attempts to use that by calling assert_ne! on two Test instances. If the derive callback doesn't work, no PartialEq will be present and the test will fail to compile.
2021-07-16add custom derives callbackEric Seppanen
This callback allows us to specify arbitrary derive attributes for each named struct. This is useful for adding things that can't easily be implemented separately, such as `serde::Deserialize` or `zerocopy::FromBytes`.
2021-07-16Allow explicit padding (#2060)Eric Seppanen
If a struct needs to be serialized in its native format (padding bytes and all), for example writing it to a file or sending it on the network, then explicit padding fields are necessary, as anything reading the padding bytes of a struct may lead to Undefined Behavior.
2021-06-21comp: Do a better effort of computing packedness before bitfield units.Emilio Cobos Álvarez
Fixes #2067
2021-05-18Identify forward declarations in params. (#2052)Adrian Taylor
2021-05-11Zero out padding in custom Default trait implementations (#2051)Daniel Xu
* Zero out padding in custom Default trait implementations Previously, we were using `std::mem::zeroed()` which unfortunately does not necessarily zero out padding. It'd be better if the padding is zeroed out because some libraries are sensitive to non-zero'd out bytes, especially when forward/backward compatability is involved. This commit ensures all bytes are zeroed out in custom Default trait implementations.
2021-05-08Point book docs.rs links to latest version of the crateFernando Jimenez Moreno
2021-04-30Don't generate bindings for deleted member functions. (#2044)Martin Boehme
Closes #2044 Fixes #2043 See https://github.com/rust-lang/rust-bindgen/issues/2043 for details.
2021-04-30ir: Use early return in c_naming_prefix.Emilio Cobos Álvarez
2021-04-30Add a C naming option (#2045)Boris-Chengbiao Zhou
Closes #2045. Fixes #1252.
2021-04-27Fix typoHengqi Chen
Signed-off-by: Hengqi Chen <chenhengqi@outlook.com>
2021-04-27Update TOC for FAQ pageHengqi Chen
Signed-off-by: Hengqi Chen <chenhengqi@outlook.com>
2021-04-27Translate types that were declared inside functions as opaque types.Patrick Walton
This fixes a panic with the following header: template<typename T> struct Foo {}; template<typename T> Foo<T> foo{}; void f() { struct Bar { Bar() {} }; foo<Bar>; } Because we don't parse the insides of function bodies, code like this could cause us to parse a type (here, `Bar`) that we didn't see in our initial pass, which can cause subtle problems. Closes #2036.
2021-04-26Unblock CI for now.Emilio Cobos Álvarez
2021-04-26Print with_id in debug log from builtin_or_resolved_ty.Emilio Cobos Álvarez
This makes debugging #2039 a bit easier.
2021-04-24Integration test include directory paths for depfiles.Adam Perry
2021-04-24Support emitting Makefile-syntax depfiles like gcc/clang/rustc.Adam Perry
Needed to auto-bindgen with a ninja build without the build graph going stale.
2021-04-15Add env var EXTRA_CLANG_ARGS_<TARGET>Thomas Vermeilh
Closes #2009
2021-04-11Fix docstring comment for constantsNico Chatzi
2021-04-06v0.58.1v0.58.1Emilio Cobos Álvarez
2021-04-06Re-introduce whitelist_recursively (with deprecation notice)Emilio Cobos Álvarez
Seems like an oversight from #1990. Fixes #2022.
2021-04-06Document clang installation method on FedoraRyan Zoeller
2021-04-05Fix 0.58.0 release dateCorey Farwell
2021-04-03Reference aarch64 issue in the changelog.Corey Farwell
2021-04-03v0.58.0v0.58.0Emilio Cobos Álvarez
2021-04-03codegen: Deal with overloads in method code generation.Emilio Cobos Álvarez
Fixes #2019
2021-04-03codegen: Don't use a `sym` temporary in dynamic library code.Emilio Cobos Álvarez
Fixes #2014.
2021-04-03remove old commentDr. Chat
2021-04-03Deduplicate dyngen codeDr. Chat
2021-04-03Remove `DynamicItems::has_required`Dr. Chat
2021-04-03Add a flag to ensure all symbols are resolved when a library is loadedDr. Chat
2021-03-29From Nullablibility to NullabilityMehmet Oguz Derin
A basic fix
2021-03-29docs: Remove IRC reference.Emilio Cobos Álvarez
For now point to #rust:mozilla.org. If that gets too much bindgen-related traffic we can create an specific room for it. Closes #2012
2021-03-22Merge pull request #2007 from jethrogb/jb/issue-1454-altEmilio Cobos Álvarez
Add callback to check derives for blocklisted types
2021-03-22Add from_library for generated dynamic library structs (#2011)Wang, Chi
2021-03-22Add callback to check derives for blocklisted typesJethro Beekman
Fixes #1454 #2003
2021-03-22Use original name when checking allowlist for anonymous enum variantsJethro Beekman
2021-03-22Add test infrastructure for ParseCallbacksJethro Beekman
2021-03-14Add option to translate enum integer types to native Rust integer typesJethro Beekman
Fixes #430
2021-03-11Revert "Add flag to ignore type blocklist when computing derive information"Emilio Cobos Álvarez
This reverts commit 7286c815f80b14c0ee77773387434da40f511b42, because it was not intended to be merged after all, see https://github.com/rust-lang/rust-bindgen/pull/2003#issuecomment-796160427.
2021-03-11Add flag to ignore type blocklist when computing derive informationJethro Beekman
Fixes #1454
2021-03-11Fix typo in roundtrip test error messageJethro Beekman
2021-03-09Remove outdated commentsldm0
2021-02-21Upgrade to shlex 1Fenhl
2021-02-18Rename whitelist -> allowlist and blacklist -> blocklistMarcel Hlopko
For the commandline arguments I added undocumented aliases to old flags, to stay backwards compatible.
2021-02-15tests: Guess modern libclang version when we fail to parse a version.Emilio Cobos Álvarez
Should fix the test failures described in #1991 and #1975 on modern Mac.
2021-02-15Make clang version parsing logic more robustMarcel Hlopko
Previously the function assumed that the version number appeared in the third word. This PR adds a heuristic - take the first word that starts with a number. This way we can also parse: `debian clang version 11.0` that my clang reports.