Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2017-10-05 | Use bitfield getter_name in impl_debug. | Sergey Pepyakin | |
Also make impl_partialeq test to also cover impl_debug case. | |||
2017-10-05 | Use bitfield getter_name in impl_partialeq | Sergey Pepyakin | |
2017-10-05 | Eagerly generate bitfield accessor names | Sergey Pepyakin | |
Also clean a bit. | |||
2017-10-04 | Make bitfields larger than type opaque. | Oliver Geller | |
2017-10-04 | Remove early anonymous bitfield filtering and consolidate name method | Oliver Geller | |
2017-10-03 | Assert we only gen partialeq for non rust unions | Sergey Pepyakin | |
2017-10-03 | Use `if let` instead of plain if. | Sergey Pepyakin | |
2017-10-03 | Derive partialeq "manually" when possible | Sergey Pepyakin | |
Remove derive-partialeq-template-inst test. Add comments. Don't implement PartialEq for incomplete arrays Handle opaque bases and template instantiations Extract constrain_type. Extract `is whitelisted?` check Add failing partialeq-anonfield join for comps Fix: return insert if not whitelisted Delegate TypeRefs and alias to constrain_join. Delegate Template instantiations to constrain_join Add derive-partialeq-pointer.hpp test Update comment. Fix layout alignment larger that array limit Add missing test for derive-partialeq-anonfield.rs Clean Clean Fix typo in opaque-template-inst-member test Remove redudant stmt Add comment on can_supersede. Format impl_partialeq and leave a comment Extract requires_storage into it's own function. Clean | |||
2017-10-02 | s/lookup_item_id/lookup/ in method names | Nick Fitzgerald | |
Its not just item ids now, and that name was pretty long... | |||
2017-10-02 | Make `has_destructor` checks operate on TypeId | Nick Fitzgerald | |
2017-10-02 | Tighten up `is_unsized` and `has_vtable` checks to operated on TypeId | Nick Fitzgerald | |
2017-10-02 | Make methods/constructors/destructors use FunctionId | Nick Fitzgerald | |
And also allow ID comparison across ID types, as this makes implementing the above much easier. | |||
2017-10-02 | Introduce the `FunctionId` newtype for ids pointing to functions | Nick Fitzgerald | |
2017-10-02 | Make `CompInfo::inner_vars` use `VarId` instead of `ItemId` | Nick Fitzgerald | |
2017-10-02 | Introduce VarId for ids pointing to Var | Nick Fitzgerald | |
2017-10-02 | Put newtype-of-ItemId boilerplate behind a macro | Nick Fitzgerald | |
2017-10-02 | Introduce ModuleId to strongly type IDs pointing at Modules | Nick Fitzgerald | |
2017-10-02 | Replace `as_type_id_unchecked` calls with checked calls where possible | Nick Fitzgerald | |
2017-10-02 | Replacement should use TypeId rather than ItemId | Nick Fitzgerald | |
2017-10-02 | Turn `CompInfo::inner_types` into TypeId | Nick Fitzgerald | |
2017-10-02 | A bunch of parsing things should return TypeId | Nick Fitzgerald | |
2017-10-02 | Make `Enum::repr` into a `TypeId` | Nick Fitzgerald | |
2017-10-02 | `instantiate_template` should take a `TypeId` for the template definition | Nick Fitzgerald | |
2017-10-02 | Make base members use TypeId rather than ItemId | Nick Fitzgerald | |
2017-10-02 | Make a bunch more methods take generic ids | Nick Fitzgerald | |
2017-10-02 | Make comp fields contain `TypeId`s | Nick Fitzgerald | |
2017-10-02 | Make functions which take an ItemId generic to take any kind of id | Nick Fitzgerald | |
2017-10-02 | Make TemplateInstantiation's definition into a TypeId | Nick Fitzgerald | |
The definition of a template is always a type, so it should be a TypeId rather than an ItemId. Template arguments, on the other hand are not guaranteed to be types. They can be constant values, for example. | |||
2017-10-02 | Make `TypeKind::{Alias,TemplateAlias,Array,Pointer,Reference}` use `TypeId` | Nick Fitzgerald | |
This commit makes certain `TypeKind`s that can only reference other types use `TypeId` instead of `ItemId`. | |||
2017-10-02 | Resolve an `Item` with any id type that converts into an `ItemId` | Nick Fitzgerald | |
2017-10-02 | Turn `build_templated_path` into `build_path` | Nick Fitzgerald | |
None of the callers were passing template parameters. | |||
2017-10-02 | Remove unused parameter to `codegen::utils::type_from_named` | Nick Fitzgerald | |