summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-06-06codegen: tests: Put each individual field test in a function.Emilio Cobos Álvarez
So that rustc doesn't take too much stack space without optimizations. Fixes #2218
2022-06-05options: Implement --version manually and print clang version on --version ↵Emilio Cobos Álvarez
--verbose Fixes #2138
2022-06-05Fix some clippy warningsDarren Kulp
cargo clippy --fix --tests cargo +nightly fmt
2022-06-05ir: Centralize must_use checks and simplify codegen.Emilio Cobos Álvarez
2022-06-05Look for `must_use` on typdefs in function returnIan Chamberlain
Closes #2206
2022-05-17Fix "dereferencing a null pointer" in C layout testsGavin Li
Instead of dereferencing a null pointer, create a MaybeUninit from which we can extract well-defined addresses.
2022-05-08Derive from any other trait only when deriving from CopyMichal Rostecki
It's impossible to #[derive] from any other trait when not deriving from Copy when using the newest Rust nightly. Any attempt to do that results in the following error: error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133) Fixes: #2083 Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
2022-04-19Use common type alias for anonymous enums in consts modeAlan Wu
Previously, anonymous enums generated a type alias but did not use it. For example the following: ```C enum { ZERO, ONE = 4999, }; ``` Generated this: ```Rust /* automatically generated by rust-bindgen 0.59.2 */ pub const ZERO: ::std::os::raw::c_uint = 0; pub const ONE: ::std::os::raw::c_uint = 4999; pub type _bindgen_ty_1 = ::std::os::raw::c_uint; ``` For use cases where humans look at bindgen's Rust output this was a little strange since it's a deviation from how the Rust output for named enums is organized, where all constants share the same type using the type alias. The unused type alias also triggered the dead_code lint. Change to use the generated type alias.
2022-03-15codegen: Fix minor clippy warning.Emilio Cobos Álvarez
2022-03-15add attributes to dynamic functionsEmil Gardström
this includes comments and must_use annotations
2022-03-15tests: Remove testing_only_libclang_4 and expectationsDarren Kulp
2022-03-15ir: Make TargetInfo::new infallibleDarren Kulp
Now that we require Clang 5.0, there is no way for this function to return None.
2022-03-15clang: Stop accommodating libclang 4.0Darren Kulp
Closes #2166
2022-03-15codegen: Simplify abi support condition.Emilio Cobos Álvarez
2022-03-15Added support for `vectorcall` ABIDavid Cole
2022-03-15Fix macOS test expectationsSebastian Imlay
* Updated tests/expectations/Cargo.toml to use 2018 rust. * Added Debug and Copy to objective-c structs. * Fixed lifetimes in objective-c trait templates. * Fixed imports for objective-c expectations tests.
2022-02-18BINDGEN_EXTRA_CLANG_ARGS for dump_preprocessed_input.Nicklas Boman
Fixes #1723
2022-02-18codegen: Use raw pointers rather than references in vtable functions.Emilio Cobos Álvarez
Closes #2163
2022-02-18Put vtable generation behind a flag for now.Emilio Cobos Álvarez
2022-02-18Add --allowlist-file optionDavid Drysdale
2022-02-18tests: Remove clang-3.9 expectationsDarren Kulp
2022-02-18parser: Simplify handle_function_macro for clang 4.0+Darren Kulp
2022-02-18parser: Simplify parse_macro for clang 4.0+Darren Kulp
Here we delete a workaround that is no longer needed.
2022-02-18clang: Stop accommodating libclang 3.9Darren Kulp
2022-02-18Allow fully-qualified derivesJake Merdich
Adding a custom derive like "serde::Deserialize" results in a panic complaining that it is not a valid Ident. Derive params are not identifiers, so treat it as a token stream instead.
2022-02-18Fix an erroneous +x bit on a source code file.Adrian Taylor
2022-01-29Upgrade Clap to version 3Mateusz Mikuła
2022-01-29Mark all vtable functions as `unsafe extern "C"`Justin Moore
2022-01-29On second thought, don't generate virtual destructorsDr. Chat
2022-01-29Mark all vtable functions as `pub`Dr. Chat
2022-01-29Account for virtual destructorsDr. Chat
2022-01-29Pass the vtable's base class as the first parameterDr. Chat
2022-01-29Extremely basic Vtable generationDr. Chat
2021-12-29Change into PathBufMikuroXina
2021-12-29Derive some traitsMikuroXina
2021-12-29More detailed errorMikuroXina
2021-12-29Remove deprecation and ReplaceMikuroXina
2021-12-29Add non_exhaustiveMikuroXina
2021-12-29Remove 'error: ' partMikuroXina
2021-12-29Merge into new oneMikuroXina
2021-12-29Replace generate with gen in testMikuroXina
2021-12-29Impl Error trait for BindgenErrorMikuroXina
2021-12-29Add BindgenErrorMikuroXina
2021-12-29codegen: Don't automatically derive Debug and Copy for non-rust enums.Emilio Cobos Álvarez
Fixes #2143
2021-12-12Handle difference between clang and rust targets on RISC-V.Triss Healy
2021-12-07Fix warnings on testsMikuroXina
2021-12-07Remove fields never readMikuroXina
2021-11-26Add --blocklist-file option (#2097)David Drysdale
Update Item to hold a `clang::SourceLocation` and use this to allow blocklisting based on filename. The existing code has a special case that always maps <stdint.h> integer types to corresponding Rust integer types, even if the C types are blocklisted. To match this special case behaviour, also treat these C <stdint.h> types as being eligible for derived Copy/Clone/Debug traits. Fixes #2096
2021-11-26Drop 'static for pub const strings for rustc>1.17Alberto Planas
Constant and static declaration have a 'static live time by default, that is already elided since 1.17. Clippy complains on this kind of strings that are present in the generated code. This patch remove the 'static live time for those strings when rustc > 1.17 via a new added RustFeature. Fix #1612 Signed-off-by: Alberto Planas <aplanas@suse.com>
2021-11-26Typo fix: "in side" -> "inside"follower