Age | Commit message (Collapse) | Author |
|
Don't mangle name in partial specification (with Cargo.lock update)
|
|
|
|
|
|
|
|
Fixes: https://github.com/servo/rust-bindgen/issues/482
|
|
Rename llvm_stable feature and remove references from docs.
Fixes: https://github.com/servo/rust-bindgen/issues/409
|
|
|
|
|
|
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).
|
|
ir: Remove unused call to clang_Cursor_isAnonymous.
Fixes #496
|
|
Clang 3.5 support
Fixes #496
|
|
Fixes #496
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
The TemplateDeclaration trait aggregates information about template
declarations (separate from instantiations and specializations) and their
template parameters into a single source of truth.
|
|
|
|
|
|
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.
|
|
This commit adds collect_children, has_children, and has_at_least_num_children
methods to Cursor.
|
|
|
|
|
|
|
|
check layout align before padding bytes
Fix issue #493 again :S
Still finding way to reproduce it
|
|
|
|
codegen: Fix remaining cases of missing core prefix.
Fixes #488
r? @fitzgen
|
|
|
|
check empty layout when padding bytes
fast workaround to fix issue #493
need to investigate why layout is empty
|
|
|
|
Implement `Default` trait
We need `Default` trait to handle so many auto generated fields when create new structure.
|
|
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
|
|
|
|
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!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert that code is properly `rustfmt`ed in CI
r? @emilio
|
|
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
|
|
Run `cargo fmt`
It's been a while, and we have a lot of reformatting with the latest version of `rustfmt`.
|
|
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.
|
|
|
|
|
|
Fix a recent template-specialization-related regression.
r? @upsuper
|