summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-07-15Fix layout computation for union forward declarations (#1593)Patrick Marks
2019-07-10ir: Properly find the layout of incomplete arrays.Emilio Cobos Álvarez
So as to not pad stuff incorrectly, or needlessly add extra alignment, for example. Fixes #1589
2019-07-09Improve workaround for LLVM bug when evaluating value-dependent expressions.Emilio Cobos Álvarez
Using the canonical type makes it work across typedefs. Fixes #1590
2019-06-25Make BlockPointer's canonical type in IR be itself, not as if it is an alias.Garrett Nickel
2019-06-12Style fixes.uk
See https://github.com/rust-lang/rust-bindgen/pull/1575
2019-06-11Add rust target configuration for feature #1554uk
Will panic if the feature is being used outside nightly. See https://github.com/rust-lang/rust-bindgen/pull/1575#discussion_r292231027
2019-06-11Rename a couple miscalled identifiers.uk
See https://github.com/rust-lang/rust-bindgen/pull/1575
2019-06-10Add support for non_exhaustive rustified enums.uk
Implements the feature discussed in https://github.com/rust-lang/rust-bindgen/issues/1554.
2019-06-06For rust-target >= 1.30, make __IncompleteArrayField::new a const fnColin Wallace
2019-06-06For rust-target >= 1.30, make __BindgenUnionField::new a const fnColin Wallace
2019-06-06FIX #1571: For rust-target >= 1.30, make __BindgenBitfieldUnit::new a const fnColin Wallace
2019-06-06Remove the parameter bounds for __BindgenBitfieldUnit::newColin Wallace
This will enable `new` to be changed to a `const fn` in a future patch: `const fn`s do not support trait bounds.
2019-05-24updated `default-enum-variant` to `default-enum-style`Elichai Turkel
2019-05-22Added array pointers to the CLIElichai Turkel
2019-05-22Added array pointers codegenElichai Turkel
2019-05-22Added array_pointers to the builderElichai Turkel
2019-05-21Update LinksAlex Touchet
2019-05-15Only emit #[link_name] attribute if necessary.Michael Woerister
2019-05-12Revert "Switch to hashbrown."Emilio Cobos Álvarez
This reverts commit 8a579b134dbaf369803cffbe835ba14ab2765fba. Reason for revert: hashbrown made it to libstd, so this saves some dependencies.
2019-05-06Remove unused mut.Emilio Cobos Álvarez
2019-04-26Remove redundant imports.Emilio Cobos Álvarez
2019-03-26options: Add an option to opt-out of include path detection.Emilio Cobos Álvarez
And don't do it conditionally on the presence of --target. We pass the clang arguments to clang-sys now, so it doesn't get the wrong path.
2019-03-25ir: Whitelist items that don't generate code to improve derive behavior.Emilio Cobos Álvarez
When not whitelisting recursively. Fixes #1454
2019-03-21Derive Default for function pointersJethro Beekman
2019-03-21Unify derive logicJethro Beekman
2019-03-15Merge pull request #1537 from jhwgh1968/clang_env_argsEmilio Cobos Álvarez
Add BINDGEN_EXTRA_CLANG_ARGS env variable
2019-03-13Add BINDGEN_EXTRA_CLANG_ARGS env variablejhwgh1968
2019-03-10fix issue #1535Porter Smith
2019-03-06Work around a libclang bug / limitation.Emilio Cobos Álvarez
For references, libclang returns the size and align of the pointee. This actually matches how C++'s sizeof() and alignof() works, for some reason, though in this case we really want to know the pointer's layout. Anyhow, we know the target pointer size, so manually handle this case. Filed https://bugs.llvm.org/show_bug.cgi?id=40975 for this.
2019-03-04codegen: Properly track alignment of unions.Emilio Cobos Álvarez
This makes us not unnecessarily add repr(align) to unions. Closes #1498.
2019-03-04Update default rust target to 1.33.Emilio Cobos Álvarez
Closes #1529.
2019-02-22Work-around https://bugs.llvm.org/show_bug.cgi?id=40813.Emilio Cobos Álvarez
This fixes a crash when using non-deductible auto types.
2019-02-11fix one argument block pointer issue, #1378Flier Lu
2019-02-04codegen: Append implicit template parameters to base members.Emilio Cobos Álvarez
Fixes #1514
2019-02-03Rework the way that argument types and names are found from function signatures.Porter Smith
This fixes the issue seen in #1500 where function pointers as a return type have their parameters incorrectly generated. This also fixes a broken test case, objc_property_fnptr, as its types are now generated correctly.
2019-02-03ir: Ignore constructors with bogus spellings.Emilio Cobos Álvarez
2019-01-25Produce a more useful error message when rustfmt can't be found. Fixes #1205Ted Mielczarek
Prior to this change bindgen would simply print any error that occurred while attempting to run rustfmt straight to stderr using fmt::Debug. Combined with the fact that rustfmt is enabled by default now this meant that if rustfmt was missing or not working a cryptic error would be printed.
2019-01-18Fix layout with packed class that only has a vtableTom Tromey
I noticed that a `#pragma packed` class that has only a vtable but no data members is not marked repr(packed). The bug is that is_packed examines data members but not the vtable when applying its heuristic.
2019-01-16Document some macros.Emilio Cobos Álvarez
2019-01-08Support #[repr(packed(N))] on Rust 1.33+Christian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/537.
2019-01-03Bitfield enums use #[repr(transparent)] on Rust 1.28+Christian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/1474.
2019-01-01Remove deprecated calls to trim_(right|left)_matchesChristian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/1480
2018-12-30Log the libclang path.Emilio Cobos Álvarez
2018-12-29Merge pull request #1473 from emilio/hashEmilio Cobos Álvarez
Some perf tweaks
2018-12-28codegen: Make zero-sized arrays affect alignment.Emilio Cobos Álvarez
Fixes #684
2018-12-28codegen: ctypes_prefix may not be an ident.Emilio Cobos Álvarez
This fixes a panic uncovered by the proc_macro update, which validates idents now. We were using it as a pretty crappy way to turn it into something that could be turned into a TokenStream. But TokenStream implements FromStr now.
2018-12-24ir: Move a variable to where it's used.Emilio Cobos Álvarez
2018-12-23codegen: We should not iterate over codegen_items.Emilio Cobos Álvarez
This should allow making it a HashSet.
2018-12-23Stop using a BTreeSet to store items.Emilio Cobos Álvarez
We use sequential id's so a Vec<Option<T>> does the trick. This reduces the time for: time ./target/release/bindgen tests/stylo.hpp --no-rustfmt-bindings From ~6s to less than 5s on my machine.
2018-12-23Switch to hashbrown.Emilio Cobos Álvarez
This wins between 2 and 5 milliseconds more in the test-case above, so no reason not to I guess.