Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-11-01 | Avoid divide-by-zero when checking if a field will merge with bitfields | Nick Fitzgerald | |
2017-10-31 | Unnamed bit-fields should not affect alignment | Nick Fitzgerald | |
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 | |||
2017-10-31 | Remove unused assignment | Nick Fitzgerald | |
2017-10-31 | ir: We can't guarantee the type to be in the item map while propagating ↵ | Emilio Cobos Álvarez | |
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 | |||
2017-10-30 | Auto merge of #1119 - pepyakin:derive-partialeq-partialord-refactoring, r=emilio | bors-servo | |
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 | |||
2017-10-30 | Refactor derive_partialeq_or_partialord. | Sergey Pepyakin | |
2017-10-30 | ir: Don't eagerly-resolve template alias declarations. | Emilio Cobos Álvarez | |
Fixes #1118 | |||
2017-10-30 | Need mangle name of fields in struct for impl debug | Zhiting Zhu | |
2017-10-29 | Rename derive_partialeq_or_partialord | Sergey Pepyakin | |
2017-10-28 | Auto merge of #1114 - emilio:template-params-ref, r=pepyakin | bors-servo | |
ir: References have no implicit template parameters. Fixes #1113. | |||
2017-10-28 | ir: References have no implicit template parameters. | Emilio Cobos Álvarez | |
Fixes #1113. | |||
2017-10-28 | lib: Always generate bindings. | Emilio Cobos Álvarez | |
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. | |||
2017-10-27 | lib: rustfmt output to stdout | Manas Karekar | |
Simplify the rustfmt and write mechanism. Use rustfmt generated string to allow writing to stdout or to rustfmt a file. | |||
2017-10-26 | give better variable name | Taylor Foxhall | |
2017-10-27 | Add --no-hash <regex> flag | seemyvest | |
2017-10-26 | Auto merge of #1099 - hallfox:no-copy, r=fitzgen | bors-servo | |
Resolve #962 - implement --no-copy with tests Allows types to not have the copy trait automatically derived. | |||
2017-10-25 | delete empty lines, update book with no_copy usage | Taylor Foxhall | |
2017-10-25 | Compute sizedness with a fixed-point analysis | Nick Fitzgerald | |
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 | |||
2017-10-24 | Resolve #962 - implement --no-copy with tests | Taylor Foxhall | |
generated bindings from test headers | |||
2017-10-24 | Auto merge of #1085 - pepyakin:builtin-clone-impls, r=fitzgen | bors-servo | |
Derive `Clone` along with `Copy` on Rust 1.21 Fixes #934 r? @fitzgen or @emilio | |||
2017-10-24 | Auto merge of #1095 - emilio:nits, r=pepyakin | bors-servo | |
ir: Cleanup a bunch of constructors Should be no change in behavior. | |||
2017-10-24 | Auto merge of #1092 - seemyvest:fix-1029, r=fitzgen | bors-servo | |
Issue #1029: Print error messages if header is a folder or unreadable r? @fitzgen | |||
2017-10-24 | Derive `Clone` along with `Copy` on latest stable. | Sergey Pepyakin | |
2017-10-24 | Auto merge of #1091 - jrmuizel:linkage, r=emilio | bors-servo | |
Store function linkage in the ir This lets us capture 'static inline' functions in the ir and filter them later down the pipeline. This is the first step on the way to handling these functions better. | |||
2017-10-24 | ir: Cleanup a bunch of constructors | Emilio Cobos Álvarez | |
To use the shorthand initialization syntax. | |||
2017-10-24 | Store function linkage in the ir | Jeff Muizelaar | |
This lets us capture 'static inline' functions in the ir and filter them later down the pipeline. This is the first step on the way to handling these functions better. | |||
2017-10-23 | Fix mistakenly derive hash for struct that contains IncompleteArrayField | Zhiting Zhu | |
2017-10-24 | Issue #1029: Print error messages if header is a folder or unreadable | seemyvest | |
2017-10-23 | Remove `CompInfo::needs_explicit_vtable` and use `HasVtable::has_vtable_ptr` ↵ | Nick Fitzgerald | |
instead | |||
2017-10-23 | Add `HasVtable::has_vtable_ptr` for querying if a type has its own vtable ↵ | Nick Fitzgerald | |
pointer | |||
2017-10-23 | Add `trace!` logging for the `HasVtableAnalysis` | Nick Fitzgerald | |
2017-10-23 | Record whether the vtable pointer is in self or a base member in ↵ | Nick Fitzgerald | |
`HasVtableAnalysis` | |||
2017-10-13 | Handle unsigned integer constants greater than u32::MAX in codegen | Nick Fitzgerald | |
We were not checking signed-ness and emitting the appropriate types. Fixes #1040 | |||
2017-10-12 | Auto merge of #1079 - fitzgen:move-self-into-gen, r=pepyakin | bors-servo | |
Move `self` into `ir::BindgenContext::gen` Small clean up. See each commit for details. r? @pepyakin | |||
2017-10-12 | Make `ir::BindgenContext::gen` take ownership of `self` | Nick Fitzgerald | |
`bindgen` follows a pipeline architecture, and we only ever generate bindings once. By taking ownership of `self`, we can enforce this. We can also remove checks inside `gen` for whether we have resolved type refs or not, since we now know that we haven't because it is guaranteed to only be called the one time. | |||
2017-10-12 | Do not make `parse_one` public | Nick Fitzgerald | |
`parse_one` was never supposed to be public and it uses a bunch of non-public types as a parameters, so downstream crates wouldn't be able to call it anyways. | |||
2017-10-12 | Rename `bitfield` to `bitfield_width` | Nick Fitzgerald | |
Its more clear what the methods/fields are returning/storing when we add "width" to the name. | |||
2017-10-11 | Handle explicit align=1. | Sergey Pepyakin | |
2017-10-11 | Refactor requires_explicit_align | Sergey Pepyakin | |
2017-10-10 | Auto merge of #1071 - pepyakin:emit-hex-bitfield-masks, r=fitzgen | bors-servo | |
Emit hex bitfield masks r? @fitzgen | |||
2017-10-10 | Emit hex bitfield masks | Sergey Pepyakin | |
2017-10-10 | Auto merge of #1065 - liranringel:thiscall, r=fitzgen | bors-servo | |
Add support for the thiscall ABI Fixes https://github.com/rust-lang-nursery/rust-bindgen/issues/541 The thiscall ABI is experimental, so in order to use it nightly is required and also the following statement: `#![feature(abi_thiscall)]` That's a problem because the `tests_expectations` crate (in the tests folder) tries to compile it (and stable is required). | |||
2017-10-09 | Auto merge of #1066 - pepyakin:bitfields-in-unions, r=fitzgen | bors-servo | |
Bitfields in unions Fixes #744 I think it is WIP for the moment as I didn't run tests locally. | |||
2017-10-10 | Add support for the thiscall ABI | Liran Ringel | |
2017-10-09 | Fix bitfields in bindgen unions | Sergey Pepyakin | |
2017-10-09 | Fix bitfields in untagged Rust unions | Sergey Pepyakin | |
2017-10-07 | Tell LLVM to not mangle names if they're already mangled through link_name ↵ | Liran Ringel | |
attribute | |||
2017-10-05 | Review fixes | Sergey Pepyakin | |
2017-10-05 | rustfmt | Sergey Pepyakin | |
2017-10-05 | Introduce `with_loaned_item`. | Sergey Pepyakin | |