Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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
|
|
This fixes a regression with stylo bindings after the function pointer PR.
|
|
Enhance Clang AST dumping
This commit extends our existing Clang AST dumping to include more information,
such as a cursor's canonical, referenced, and declarations cursors if they
exist. It prints out most of the information that libclang gives us directly,
but not the information that we attempt to (re)construct on top of the libclang
APIs.
r? @emilio or @Yamakaky
|
|
This can lead to infinite loops with forward declarations and blow the stack.
|
|
|
|
|
|
ir: Don't recurse too much looking for canonical types.
Fixes https://github.com/servo/rust-bindgen/issues/405
r? @fitzgen
|
|
|
|
This commit extends our existing Clang AST dumping to include more information,
such as a cursor's canonical, referenced, and declarations cursors if they
exist. It prints out most of the information that libclang gives us directly,
but not the information that we attempt to (re)construct on top of the libclang
APIs.
|
|
Add initial Objective C support
Hi! I made an attempt to support parsing objective c headers. This is very much incomplete,
and likely not quite yet ready for merging, but I thought I'd share the progress so far.
Comments appreciated, I'm still very much a newbie in just about everything related to this change (rust as a language, rust ast, libclang, rust-bindgen), and there were many parts of code I wasn't quite sure about.
Commit message:
It parses interfaces and protocol but ignores base classes,
methods that don’t have arguments, the arguments are currently ignored.
Also you can pass objc class instances to C functions.
Next steps are inheritance/base classes, method signatures,
properties, categories.
Then check with system headers what is missing.
|
|
Fixes https://github.com/servo/rust-bindgen/issues/462
|
|
It parses interfaces and protocol but ignores base classes, and their
methods which don’t have arguments, the method signature is currently
ignored. Also you can pass objc class instances to C functions.
Next steps are inheritance/base classes, method signatures, properties,
categories. Then check with system headers what is missing.
|
|
It's just dumb.
|
|
We do the same for template parameters with `typename` on aliases.
This is not great, but it's better than generating invalid code.
|
|
These aren't extremely great, since this usually requires extra bookkeeping. But
C allows it, so let's keep the same semantics.
|
|
|
|
|
|
fix issue #455
|
|
This fails under BaseErrorResult in Stylo builds.
I have no idea right now why that isn't whitelisted (should be, given we're
calling it from TErrorResult's code generation).
Let's disable this pending further investigation since I don't have time to dig
into it right now.
|
|
So Rust is happy when you use them in template parameters, since the Derive
implementations can't catch this otherwise.
|
|
This is a useful debugging tool for us to catch when code generation and
whitelisting have different understandings of the world.
|
|
Fixes #447
|
|
Fixes #429
|