Age | Commit message (Collapse) | Author |
|
...instead of the deprecated `hide_type`.
|
|
...instead of the deprecated `hide_type` method.
|
|
Detect `#pragma pack(...)` and make `pack(n)` where `n > 1` opaque
This is a bandaid for #537. It does *not* fix the underlying issue, which requires `#[repr(packed = "N")]` support in Rust. However, it does make sure that we don't generate type definitions with the wrong layout, or fail our generated layout tests.
r? @emilio or @pepyakin
|
|
This is a bandaid for #537. It does *not* fix the underlying issue, which
requires `#[repr(packed = "N")]` support in Rust. However, it does make sure
that we don't generate type definitions with the wrong layout, or fail our
generated layout tests.
|
|
Divide by zero in struct layout
See commit messages for details.
r? @emilio or @pepyakin
|
|
It isn't checking alignment at all; it's checking offsets.
|
|
|
|
Add a changelog
It is initially populated with information from our release announcements.
It has an "unreleased" section for accumulating notable changes that haven't been released yet, and to make it easier to summarize releases when we do publish them.
Fixes #1131
r? @emilio or @pepyakin
|
|
It is initially populated with information from our release announcements.
It has an "unreleased" section for accumulating notable changes that haven't
been released yet, and to make it easier to summarize releases when we do
publish them.
Fixes #1131
|
|
r=pepyakin
Actually cleanup temp files in predicate
Embarrassingly, we were ignoring and swallowing a dumb reference error that prevented the temp files from ever getting cleaned up.
The good news: with ignoring bitfields and packed structs, I got to `driver.py` iteration 27145 without triggering any `bindgen` bugs, and then the disk got full! :-p
r? @pepyakin
|
|
|
|
|
|
Unnamed bit-fields and alignment
r? @pepyakin or @emilio
|
|
According to the x86[-64] ABI spec: "Unnamed bit-fields’ types do not affect the
alignment of a structure or union". This makes sense: such bit-fields are only
used for padding, and we can't perform an un-aligned read of something we can't
read because we can't even name it.
Fixes #1076
|
|
|
|
ir: We can't guarantee the type to be in the item map while propagating AlreadyResolved
The item may come from a recursive check down the stack, and as we say there:
> Unchecked because we haven't finished this type yet.
Fixes #1127
|
|
|
|
AlreadyResolved.
The item may come from a recursive check down the stack, and as we say there:
> Unchecked because we haven't finished this type yet.
Fixes #1127
|
|
Simple refactoring of derive_partialeq_or_partialord
Just simple refactoring with some tricks from https://github.com/rust-lang-nursery/rust-bindgen/pull/1102
r? @fitzgen
|
|
|
|
Minor version bump.
Again, just fixes, and I got FF to build with #1124.
|
|
|
|
ir: Don't eagerly-resolve template alias declarations.
Fixes #1118
|
|
Fixes #1118
|
|
Need mangle name of fields in struct for impl debug
Fix #1122 r? @fitzgen or @emilio or @pepyakin
|
|
|
|
|
|
Minor version bump.
Only bugfixes have landed since the last release (#1112 and #1114), apart from
doc fixes.
|
|
Only bugfixes have landed since the last release (#1112 and #1114), apart from
doc fixes.
|
|
ir: References have no implicit template parameters.
Fixes #1113.
|
|
lib: Always generate bindings.
Some cases in spawning rustfmt were not properly returning the source. Make it
more reliable.
This hit me when trying to update bindgen in Firefox.
|
|
Fixes #1113.
|
|
Some cases in spawning rustfmt were not properly returning the source. Make it
more reliable.
This hit me when trying to update bindgen in Firefox.
|
|
Fix whitelisting documentation links in book.
While working on #990 depreciated the `whitelisted_function` I noticed a couple of links in the book that also should be updated to refer to the updated methods.
@fitzgen one question here, I assume I will also need to update the version number within the url as new documentation won't be built until the next release?
|
|
lib: rustfmt output to stdout
*(Recreated + slightly touched up version of #1042 + a version bump)*
Simplify the rustfmt and write mechanism. Use rustfmt generated string to allow writing to stdout or to rustfmt a file.
|
|
|
|
Simplify the rustfmt and write mechanism. Use rustfmt generated string to allow
writing to stdout or to rustfmt a file.
|
|
give better variable name
Fixing up a comment from #1105
|
|
|
|
Add --no-hash <regex> flag
Issue #964
- [x] Adding a new RegexSet member to bindgen::Builder (similar to the whitelisted_types set).
- [x] A Builder method to add strings to that RegexSet.
- [x] Plumbing in src/options.rs to convert --no-hash <regex> CLI flags into invocations of the builder method.
- [x] Making the MonotoneFramework::constrain function in src/ir/analysis/derive_hash.rs check if the given item is explicitly marked not to be Hash, and if so, inserting it into the self.cannot_derive_hash set via return self.insert(id).
- [x] Tests!
- [x] When the no-hash type is transitively referenced by a whitelisted item
- [x] When the no-hash type is explicitly whitelisted
- [x] When the no-hash type is marked opaque
r? @fitzgen
|
|
|
|
Tell `rustfmt` to shut up about long lines in comments in test expectations
|
|
|
|
Resolve #962 - implement --no-copy with tests
Allows types to not have the copy trait automatically derived.
|
|
|
|
Compute sizedness with a fixed-point analysis
This fixes a couple bugs where we weren't properly adding an `_address` byte. It also helps pave the way for computing implicit fields (such as padding, `_address`, vtable pointers, etc) in its own pass, before codegen.
Fixes #768
r? @pepyakin
|
|
|
|
|
|
This fixes a couple bugs where we weren't properly adding an `_address`
byte. It also helps pave the way for computing implicit fields (such as padding,
`_address`, vtable pointers, etc) in its own pass, before codegen.
Fixes #768
|
|
Ignore C-Reduce's backup files
r? @pepyakin
|