summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-02-10Auto merge of #504 - emilio:xidorn-template-specialization, r=emiliobors-servo
Don't mangle name in partial specification (with Cargo.lock update)
2017-02-10Don't mangle name in partial specificationXidorn Quan
2017-02-10ir: Cut the parenthood chain in pointers, references and arrays.Emilio Cobos Álvarez
2017-02-10Remove duplicated functions that had sneaked in.Emilio Cobos Álvarez
2017-02-10ir: Don't parse non-semantic-children cursor as inner structs.Emilio Cobos Álvarez
Fixes: https://github.com/servo/rust-bindgen/issues/482
2017-02-09Auto merge of #501 - faineance:master, r=fitzgenbors-servo
Rename llvm_stable feature and remove references from docs. Fixes: https://github.com/servo/rust-bindgen/issues/409
2017-02-09remove underscore prefix from feature namefaineance
2017-02-09rename llvm_stable feature, and remove references from docsfaineance
2017-02-09Auto merge of #491 - fitzgen:template-instantiation, r=emiliobors-servo
Template instantiation I very much suspect this needs a rebase, but I haven't done it yet. This is the majority of #446, although it doesn't have the name generation for anonymous named types patches yet (that will be a different PR).
2017-02-09Auto merge of #497 - emilio:clang-3.5, r=KiChjangbors-servo
ir: Remove unused call to clang_Cursor_isAnonymous. Fixes #496
2017-02-08Auto merge of #498 - pornel:clang35, r=emiliobors-servo
Clang 3.5 support Fixes #496
2017-02-08ir: Remove unused call to clang_Cursor_isAnonymous.Emilio Cobos Álvarez
Fixes #496
2017-02-08Run `cargo fmt`Nick Fitzgerald
2017-02-08Make instantiate_template fallibleNick Fitzgerald
2017-02-08Run `cargo fmt`Nick Fitzgerald
2017-02-08Refactor how template instantiation is performedNick Fitzgerald
This commit renames `build_template_wrapper` to `instantiate_template` because that is what it is really doing. Additionally, it completely reworks its logic. Sometimes clang gives us rather sorry ASTs for template instantiations (particularly when they involve incomplete template declarations) and we need to manually reconstruct the template argument nesting.
2017-02-08Create PartialType for types we are in the middle of parsingNick Fitzgerald
This commit create the PartialType type to represent types that we are in the middle of parsing and their cursor where we found them. Additionally, it fixes a long standing FIXME to make `currently_parsed_types` private. Finally, it implements `TemplateDeclaration` for `PartialType` so that we can get information about a partially parsed template declaration type's template parameters.
2017-02-08Introduce the TemplateDeclaration traitNick Fitzgerald
The TemplateDeclaration trait aggregates information about template declarations (separate from instantiations and specializations) and their template parameters into a single source of truth.
2017-02-08Rename TypeKind::TemplateRef to TypeKind::TemplateInstantiationNick Fitzgerald
2017-02-08Rustfmt on src/clang.rsNick Fitzgerald
2017-02-08Introduce a CanonicalDeclaration typeNick Fitzgerald
The `CanonicalTypeDeclaration` type exists as proof-by-construction that its cursor is the canonical declaration for its type. If you have a `CanonicalTypeDeclaration` instance, you know for sure that the type and cursor match up in a canonical declaration relationship, and it simply cannot be otherwise.
2017-02-08Add children-related helper methods to CursorNick Fitzgerald
This commit adds collect_children, has_children, and has_at_least_num_children methods to Cursor.
2017-02-08Derive Copy for clang::TypeNick Fitzgerald
2017-02-08Fallback for clang_Cursor_getMangling absent in Clang 3.5Kornel Lesiński
2017-02-08Use conditionally functions absent from Clang 3.5Kornel Lesiński
2017-02-08Auto merge of #495 - flier:fix-493, r=emiliobors-servo
check layout align before padding bytes Fix issue #493 again :S Still finding way to reproduce it
2017-02-08check layout align before padding bytesFlier Lu
2017-02-08Auto merge of #489 - emilio:use-core, r=fitzgenbors-servo
codegen: Fix remaining cases of missing core prefix. Fixes #488 r? @fitzgen
2017-02-08codegen: Fix remaining cases of missing core prefix.Emilio Cobos Álvarez
2017-02-08Auto merge of #494 - flier:fix-493, r=emiliobors-servo
check empty layout when padding bytes fast workaround to fix issue #493 need to investigate why layout is empty
2017-02-08check empty layoutFlier Lu
2017-02-08Auto merge of #480 - flier:impl-default, r=emiliobors-servo
Implement `Default` trait We need `Default` trait to handle so many auto generated fields when create new structure.
2017-02-08Auto merge of #463 - dengjeffrey:whitelist-binding-panic, r=emiliobors-servo
Added catch_unwind to catch panic at generator Fixes #50 - Adds a `catch_unwind` to catch panic at binding generation. - Prints out a more detailed message that points to the potential misuse of flags, when `generate()` fails. - Added false-by-default `verbose` option flag to specify whether detailed message should be printed for the time being - [x] Ran all test cases - [x] Verified that correct error messages appear when bindings fail to generate - [x] Verified use of verbose flag - [x] Considered changes made by `cargo fmt` r? @emilio
2017-02-08implement Default traitFlier Lu
2017-02-07Auto merge of #490 - manuel-woelker:master, r=fitzgenbors-servo
ty: add tests for Type.is_invalid_named_type() (#460) I didn't add an extra test module, since I couldn't find any precedents in the project. Feedback welcome!
2017-02-07ty: add tests for Type.is_invalid_named_type() (#460)Manuel Woelker
2017-02-07codegen: Improve the assertion message of the failing layout tests.Emilio Cobos Álvarez
2017-02-07codegen: Fix the build in older rustc versions.Emilio Cobos Álvarez
2017-02-07add padding bytes to align strctureFlier Lu
2017-02-06Make abi optional for FunctionSigMikko Lehtonen
2017-02-05objc: Support method argumentsMikko Lehtonen
2017-02-04Removed verbose option flag from builder, and kept it in optionsJeffrey Deng
2017-02-04Don't break the build so fast for older rust versions.Emilio Cobos Álvarez
2017-02-03Auto merge of #473 - fitzgen:fmt-in-ci, r=emiliobors-servo
Assert that code is properly `rustfmt`ed in CI r? @emilio
2017-02-03Auto merge of #472 - fitzgen:cursor-num-template-args, r=emiliobors-servo
Make Cursor::num_template_args slightly more reliable This improves the situation slightly, but even `clang_Type_getNumTemplateArgs` doesn't work for most templates... r? @emilio
2017-02-03Auto merge of #471 - fitzgen:refmt, r=fitzgenbors-servo
Run `cargo fmt` It's been a while, and we have a lot of reformatting with the latest version of `rustfmt`.
2017-02-03Assert that code is properly `rustfmt`ed in CINick Fitzgerald
This commit makes Travis CI reject code which has not been run through the latest version of `rustfmt`. Additionally, it refactors our CI testing out into a couple little scripts.
2017-02-03Make Cursor::num_template_args slightly more reliableNick Fitzgerald
2017-02-03Run `cargo fmt`Nick Fitzgerald
2017-02-03Auto merge of #470 - emilio:template-fun-ty, r=fitzgenbors-servo
Fix a recent template-specialization-related regression. r? @upsuper