summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-10Auto merge of #1065 - liranringel:thiscall, r=fitzgenbors-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-09Auto merge of #1066 - pepyakin:bitfields-in-unions, r=fitzgenbors-servo
Bitfields in unions Fixes #744 I think it is WIP for the moment as I didn't run tests locally.
2017-10-10Add support for the thiscall ABILiran Ringel
2017-10-09Fix bitfields in bindgen unionsSergey Pepyakin
2017-10-09Fix bitfields in untagged Rust unionsSergey Pepyakin
2017-10-08Auto merge of #1063 - ↵bors-servo
liranringel:disable-mangling-if-link-name-is-specified, r=emilio Tell LLVM to not mangle names if they're already mangled LLVM mangles the name by default but functions are already mangled because the `link_name` attribute's value is mangled. Prefixing the name with `\u{1}` should tell LLVM to not mangle it. I originally thought it's a bug in rustc, but it was clarified here: https://github.com/rust-lang/rust/issues/45073
2017-10-07Tell LLVM to not mangle names if they're already mangled through link_name ↵Liran Ringel
attribute
2017-10-05Auto merge of #1061 - fitzgen:add-csmith-instructions-to-contributing, ↵bors-servo
r=pepyakin Point to `csmith` instructions from CONTRIBUTING.md r? @pepyakin
2017-10-05Auto merge of #1058 - pepyakin:bitfield-accessors, r=fitzgenbors-servo
Generate bitfield accessor names eagerly @fitzgen r? I'm not sure about `deanonymize_fields`, as we now assign names to data members and also generate names for the bitfield accessors, but can't come up with a better name.
2017-10-05Extend the `csmith` READMENick Fitzgerald
2017-10-05Make the `csmith` driver script executableNick Fitzgerald
2017-10-05Add a blurb about C-Smith fuzzing to CONTRIBUTING.mdNick Fitzgerald
And link to the csmith-fuzzing/README.md file for more details. Fixes #1038
2017-10-05Review fixesSergey Pepyakin
2017-10-05rustfmtSergey Pepyakin
2017-10-05Introduce `with_loaned_item`.Sergey Pepyakin
2017-10-05Make the C-Smith fuzzing README a .md fileNick Fitzgerald
2017-10-05Use bitfield getter_name in impl_debug.Sergey Pepyakin
Also make impl_partialeq test to also cover impl_debug case.
2017-10-05Use bitfield getter_name in impl_partialeqSergey Pepyakin
2017-10-05Eagerly generate bitfield accessor namesSergey Pepyakin
Also clean a bit.
2017-10-04Auto merge of #1060 - aeleos:master, r=fitzgenbors-servo
Make bitfields larger than type opaque @fitzgen r? Fixes #1007 by ensuring that bitfields larger than type will be opaque, ensuring the layout is correct.
2017-10-04Make bitfields larger than type opaque.Oliver Geller
2017-10-04Auto merge of #1059 - aeleos:master, r=fitzgenbors-servo
Remove early anonymous bitfield filtering and consolidate name method This PR is some changes to early bitfield filtering to help fix (#1007) This does not close (#1007), but allows for checking if the bitfield is too large during a later stage. @fitzgen r?
2017-10-04Remove early anonymous bitfield filtering and consolidate name methodOliver Geller
2017-10-02Auto merge of #1012 - pepyakin:derive-partialeq-manually, r=fitzgenbors-servo
Derive partialeq "manually" when possible Fixes #879 r? @fitzgen
2017-10-03Turn comments into doc comments in tests.Sergey Pepyakin
2017-10-03Assert we only gen partialeq for non rust unionsSergey Pepyakin
2017-10-03Use `if let` instead of plain if.Sergey Pepyakin
2017-10-03Derive partialeq "manually" when possibleSergey 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-02Auto merge of #1050 - fitzgen:strongly-type-ids, r=pepyakinbors-servo
Strongly type ids * [X] `TypeId` * [X] `ModuleId` * [x] `VarId` * [x] `FunctionId`
2017-10-02s/lookup_item_id/lookup/ in method namesNick Fitzgerald
Its not just item ids now, and that name was pretty long...
2017-10-02Make `has_destructor` checks operate on TypeIdNick Fitzgerald
2017-10-02Tighten up `is_unsized` and `has_vtable` checks to operated on TypeIdNick Fitzgerald
2017-10-02Make methods/constructors/destructors use FunctionIdNick Fitzgerald
And also allow ID comparison across ID types, as this makes implementing the above much easier.
2017-10-02Introduce the `FunctionId` newtype for ids pointing to functionsNick Fitzgerald
2017-10-02Make `CompInfo::inner_vars` use `VarId` instead of `ItemId`Nick Fitzgerald
2017-10-02Introduce VarId for ids pointing to VarNick Fitzgerald
2017-10-02Put newtype-of-ItemId boilerplate behind a macroNick Fitzgerald
2017-10-02Introduce ModuleId to strongly type IDs pointing at ModulesNick Fitzgerald
2017-10-02Replace `as_type_id_unchecked` calls with checked calls where possibleNick Fitzgerald
2017-10-02Replacement should use TypeId rather than ItemIdNick Fitzgerald
2017-10-02Turn `CompInfo::inner_types` into TypeIdNick Fitzgerald
2017-10-02A bunch of parsing things should return TypeIdNick Fitzgerald
2017-10-02Make `Enum::repr` into a `TypeId`Nick Fitzgerald
2017-10-02`instantiate_template` should take a `TypeId` for the template definitionNick Fitzgerald
2017-10-02Make base members use TypeId rather than ItemIdNick Fitzgerald
2017-10-02Make a bunch more methods take generic idsNick Fitzgerald
2017-10-02Make comp fields contain `TypeId`sNick Fitzgerald
2017-10-02Make functions which take an ItemId generic to take any kind of idNick Fitzgerald
2017-10-02Make TemplateInstantiation's definition into a TypeIdNick 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-02Make `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`.