summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-09-16ran cargo fmtSebastian Imlay
2020-09-16Updates base on commentsSebastian Imlay
* Added TryInto trait implementation from parent to child interfaces. * Added HashSet for protocols so that the protocol inheritance works as well.
2020-09-16Initial stuff for changing ownership and adding inheritanceSebastian Imlay
2020-09-15Use path_for_whitelisting instead of canonical_path when matching for enum ↵Youmu
type specification and template opaque type specification
2020-08-29codegen: Use shorthand initialization in VTable::new.Emilio Cobos Álvarez
2020-08-25Added constructor return type for wasm32 target (#1877)Emilio Cobos Álvarez
2020-08-25codegen: Do generate unnamed enums, as they can be referred to by members.Emilio Cobos Álvarez
Fixes #1880
2020-08-24Optimized condition order, added regression testAudrius
2020-08-24lib: Fix inferred target when clang target differs from rust target.Emilio Cobos Álvarez
Fixes #1211.
2020-08-21Added constructor return type for wasm32 targetAudrius
2020-08-15codegen: Simplify a bit the code in #1847Emilio Cobos Álvarez
2020-08-15Added Bindgen names to objective-c pointer return typesSebastian Imlay
* Took advantage of the repr transparent to use Bindgen return type names. * Updated unit tests and book
2020-08-14Add --target to the clang args earlierMike Hommey
Because the --target was passed after the include path detection, in cases of cross-compilation, the include path detection would add paths relevant to the host (e.g. /usr/include/x86_64_linux-gnu on x86_64 linux while targeting something else), possibly breaking things along the way.
2020-08-13context: Don't pass --target=rust-target to clang when building for the host.Emilio Cobos Álvarez
This will prevent common issues in platforms where the Rust target is not the clang target, like aarch64-apple-darwin (Rust) vs. arm64-apple-darwin. We may want to special-case those too when cross-compiling.
2020-08-09Cleanup some `clippy::unused_io_amount` errorsVarphone Wong
2020-08-09Add --default-macro-constant-typeChih-Hung Hsieh
* --default-macro-constant-type could be 'signed' or 'unsigned' * Its default value is 'unsigned' to use u32/u64 for C macro constants that fit into the u32/u64 ranges. * For old C libraries that use macros as int/long parameter and/or return value types, their macros are better declared as i32/i64 if the values fit the i32/i64 ranges, to be compatible with c_int/c_long types. They can use "--default-macro-constant-type signed"
2020-08-04Move `__bindgen_anon_` to constant `DEFAULT_ANON_FIELDS_PREFIX`Varphone Wong
2020-08-04Fix “warning: irrefutable if-let pattern” on add to output_vectorVarphone Wong
2020-08-04Make anon-fields-prefix non-optionalDarren Kulp
2020-08-04Add --anon-fields-prefix optionVarphone Wong
Allow to use the given prefix for the anon fields instead of `__bindgen_anon_`.
2020-08-04Fixed const-ness of multidimensional arraysJoseph Angelo
2020-08-03codegen: Use shorthand initialization in EnumBuilder.Emilio Cobos Álvarez
This was introduced in #1850.
2020-08-03Add --no-debug <regex> flagVarphone Wong
2020-08-03Improves bindings for typed and anonymous enumsCameron Mulhern
2020-07-21Change non-fatal errors to warningsleo60228
2020-07-20Remove obsoleted `is_loaded` checksDarren Kulp
It is not clear what version of libclang these supported. Refer to #1321, #1304, #916, #915.
2020-07-20Remove testing_only_libclang_3_8 and expectationsDarren Kulp
2020-07-20Simplify handle_function_macro for clang 3.9+Darren Kulp
2020-07-20Stop accommodating libclang 3.8Darren Kulp
2020-07-20Stop accommodating libclang < 3.8Darren Kulp
2020-07-20Avoid needless `std::mem::replace`Darren Kulp
In Rust 1.45.0, `std::mem::replace` gained the `#[must_use]` attribute, causing a new diagnostic for some `bindgen` code : error: unused return value of `std::mem::replace` that must be used --> src/ir/comp.rs:751:17 | 751 | / mem::replace( 752 | | self, 753 | | CompFields::AfterComputingBitfieldUnits { 754 | | fields, 755 | | has_bitfield_units, 756 | | }, 757 | | ); | |__________________^ | = note: `-D unused-must-use` implied by `-D warnings` = note: if you don't need the old value, you can just assign the new value directly error: unused return value of `std::mem::replace` that must be used --> src/ir/comp.rs:760:17 | 760 | mem::replace(self, CompFields::ErrorComputingBitfieldUnits); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: if you don't need the old value, you can just assign the new value directly error: aborting due to 2 previous errors
2020-07-06main: Remove unused use statement.Emilio Cobos Álvarez
2020-07-01lib: Trivially fix various command line arguments that are not properly ↵Emilio Cobos Álvarez
round-tripping.
2020-07-01Refine test for C++ operatorsDarren Kulp
2020-06-29lib: Fix msrv build.Emilio Cobos Álvarez
error[E0277]: the trait bound `std::string::String: std::convert::From<&std::string::String>` is not satisfied --> src/lib.rs:460:37 | 460 | output_vector.push(line.into()); | ^^^^ the trait `std::convert::From<&std::string::String>` is not implemented for `std::string::String`
2020-06-29Properly shell quote flags in test outputTravis Finkenauer
2020-06-29Simplify multiple headers testTravis Finkenauer
Ensure that we try to generate() the test Builder. Remove unnecessary reserve() optimization.
2020-06-29Handle multiple headers for command_line_flags()Travis Finkenauer
Output from Builder::command_line_flags() would fail if more than one header were provided. This adds extra headers via the '-include' clang option.
2020-06-29lib: Stop using count() to do for loops.Emilio Cobos Álvarez
This itched me when reviewing #1816. Seems easier to switch those to loop over `get_items()`, but this patch also deduplicates the code a bit, because all that copy-pasta was also itching me. These flags don't have ordering dependencies, so the result builder should be equivalent.
2020-06-29Emit bindgen version in generated headerDarren Kulp
Update expectations
2020-06-29Add option to disable generated header commentDarren Kulp
2020-06-29Output clang args after '--'Travis Finkenauer
For command_line_flags(), some arguments (like '--no-record-matches') were added after '--'. The bindgen program would interpret these as clang args.
2020-06-21Generate func_macro callbacksDarren Kulp
2020-06-21Introduce func_macro to ParseCallbacks traitDarren Kulp
2020-06-21Introduce is_macro_function_likeDarren Kulp
2020-06-21Introduce extent to ClangTokenDarren Kulp
2020-06-15Permit IntKind::Custom to represent Paths instead of just IdentsAlan Egerton
2020-06-15Derive traits for newtype aliases (#1802)eggyal
2020-06-08Remove unused Token definition.Emilio Cobos Álvarez
2020-06-08Mangle items with the same name as Rust primitive typeskellda