summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-18Merge pull request #1495 from tromey/packed-only-vtableEmilio Cobos Álvarez
Fix layout with packed class that only has a vtable
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-18Merge pull request #1494 from Ameobea/masterEmilio Cobos Álvarez
Fix book links when viewing via Github
2019-01-17Fix book links when viewing via GithubCasey Primozic
* Some pages of the book's documentation markdown pages used `.html` in their links rather than `.md`. This evidently works with `mdBook`, but fails when viewing the pages of the book from the Github source tree. * The `.html` links were replaced with `.md` to fix this.
2019-01-17Merge pull request #1486 from LegNeato/test_recordEmilio Cobos Álvarez
Add `BINDGEN_OVERWRITE_EXPECTED` for recording tests
2019-01-16Add `BINDGEN_OVERWRITE_EXPECTED` for recording testsChristian Legnitto
Currently when tests are run all expectations are overwritten. This makes it hard to debug a failing test, as every time one reruns `cargo test` the expectation is updated and subsequently passes. With this change we now check the `BINDGEN_OVERWRITE_EXPECTED` env variable. If set, we overwrite the expectation. If not, the contents stay the same and the test continues to fail.
2019-01-16Document some macros.Emilio Cobos Álvarez
2019-01-16Merge pull request #1489 from KyleMayes/clang-sysEmilio Cobos Álvarez
Update clang-sys
2019-01-12Update clang-sysKyle Mayes
2019-01-08Merge pull request #1485 from LegNeato/packedEmilio Cobos Álvarez
Support #[repr(packed(N))] on Rust 1.33+
2019-01-08Support #[repr(packed(N))] on Rust 1.33+Christian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/537.
2019-01-07Merge pull request #1484 from LegNeato/patch-1Emilio Cobos Álvarez
Update changelog for #[repr(transparent)] change
2019-01-04Update changelog for #[repr(transparent)] changeChristian Legnitto
2019-01-04Merge pull request #1483 from LegNeato/repr_transparentEmilio Cobos Álvarez
Bitfield enums use #[repr(transparent)] on Rust 1.28+
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-02Merge pull request #1482 from LegNeato/fix_deprecationsEmilio Cobos Álvarez
Remove deprecated calls to trim_(right|left)_matches
2019-01-01Remove deprecated calls to trim_(right|left)_matchesChristian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/1480
2018-12-30Merge pull request #1479 from emilio/libclang-path-logEmilio Cobos Álvarez
Log the libclang path.
2018-12-30Log the libclang path.Emilio Cobos Álvarez
2018-12-29Version bump.v0.46.0Emilio Cobos Álvarez
2018-12-29Merge pull request #1473 from emilio/hashEmilio Cobos Álvarez
Some perf tweaks
2018-12-29Merge pull request #1477 from emilio/zsa-alignEmilio Cobos Álvarez
codegen: Make zero-sized arrays affect alignment.
2018-12-28codegen: Make zero-sized arrays affect alignment.Emilio Cobos Álvarez
Fixes #684
2018-12-28Merge pull request #1476 from emilio/ctypes-identEmilio Cobos Álvarez
codegen: ctypes_prefix may not be an ident.
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.
2018-12-23Switch to FxHash for hash maps and such.Emilio Cobos Álvarez
This isn't such a massive win as I'd have hoped, but it is consistently faster, so there's no reason not to. > ./bindgen-old tests/stylo.hpp --no-rustfmt-bindings > /dev/null 2>&1 6.17s user 0.84s system 98% cpu 7.079 total > ./target/release/bindgen tests/stylo.hpp --no-rustfmt-bindings > /dev/null 2> 5.92s user 0.87s system 98% cpu 6.866 total Which isn't _that_ much but it's quite a bit.
2018-12-23Merge pull request #1472 from emilio/record-matches-flagEmilio Cobos Álvarez
Allow to turn off the matches recording introduced in #1469.
2018-12-23Allow to turn off the matches recording introduced in #1469.Emilio Cobos Álvarez
2018-12-23regex_set: Avoid allocations in unmatched_items().Emilio Cobos Álvarez
2018-12-23regex_set: Derive Default instead of manually implementing it.Emilio Cobos Álvarez
2018-12-23Merge pull request #1469 from sanxiyn/warn-unused-option. r=emilioEmilio Cobos Álvarez
Warn about unused whitelist options
2018-12-23Add some diagnostics about which clang we find and which flags we derive ↵Emilio Cobos Álvarez
from it.
2018-12-20Warn about unused whitelist optionsSeo Sanghyeon
2018-12-19Store original strings in RegexSetSeo Sanghyeon
2018-12-14Merge pull request #1467 from emilio/attr-detection-flagv0.45.0Emilio Cobos Álvarez
ir: Put function attribute detection under an opt-in flag.
2018-12-14Version bump.Emilio Cobos Álvarez
2018-12-14ir: Put function attribute detection under an opt-in flag.Emilio Cobos Álvarez
Given it was a considerable performance hit under some workloads. Closes #1465.
2018-12-14Merge pull request #1466 from emilio/token-lazyEmilio Cobos Álvarez
clang: Tokenize more lazily.
2018-12-14clang: Tokenize more lazily.Emilio Cobos Álvarez
Instead of converting all the tokens to utf-8 before-hand, which is costly, and allocating a new vector unconditionally (on top of the one clang already allocates), just do the tokenization more lazily. There's actually only one place in the codebase which needs the utf-8 string, all the others can just work with the byte slice from clang. This should have no behavior change, other than be faster. In particular, this halves the time on my machine spent on the test-case from #1465. I'm not completely sure that this is going to be enough to make it acceptable, but we should probably do it regardless.
2018-12-10Merge pull request #1462 from royb3/patch-1. r=emilioEmilio Cobos Álvarez
User-guide link update on docs.rs
2018-12-10User-guide link update on docs.rsRoy Buitenhuis
The link to the user guide pointed to https://rust-lang-nursery.github.io/rust-bindgen/
2018-12-02Merge pull request #1458 from emilio/bindgen-union-namespace. r=emilioEmilio Cobos Álvarez
codegen: Properly detect bindgen unions.
2018-12-02codegen: Properly detect bindgen unions.Emilio Cobos Álvarez
The root cause of the issue was the missing: ``` self.saw_bindgen_union |= new.saw_bindgen_union; ``` But I also cleaned up a bit more and removed the unused saw_union. Fixes #1457
2018-11-30Merge pull request #1409 from emilio/update-some-crates. r=emilioEmilio Cobos Álvarez
Update which, quote and proc_macro.
2018-11-30While at it, gcc -> cc in the integration tests.v0.44.0Emilio Cobos Álvarez
2018-11-30Version bump.Emilio Cobos Álvarez