summaryrefslogtreecommitdiff
path: root/libbindgen/src
AgeCommit message (Collapse)Author
2016-11-22codegen: Don't bother generating an empty module.Emilio Cobos Álvarez
2016-11-22A more coherent story for whitelisting.Emilio Cobos Álvarez
2016-11-22ir: Deduplicate namespaces.Emilio Cobos Álvarez
2016-11-21Auto merge of #293 - fitzgen:type-referenced-by-whitelisted-function, r=emiliobors-servo
Trace function signature types This extends the `TypeCollector` trait implementation for `Item` to consider items of kind `Function` and to collect the types found in the function's signature. Fixes #291 r? @emilio
2016-11-21Trace function signature typesNick Fitzgerald
This extends the `TypeCollector` trait implementation for `Item` to consider items of kind `Function` and to collect the types found in the function's signature. Fixes #291
2016-11-21Auto merge of #282 - impowski:layout_template_specializations, r=emiliobors-servo
First steps to fix issue #57 This should generate tests for fully specialized templates. TODO: - [x] Tests r? @emilio
2016-11-21Recurse on the innter type when finding a template alias name targetNick Fitzgerald
The assertion that the template alias's inner type was our name target, and that we didn't need to recurse, is failing when generating SpiderMonkey bindings. I'm not 100% sure when this can happen, but clearly it can, and it is easy to support, so let's support it.
2016-11-21Auto merge of #284 - fitzgen:dont-eval-variadic-templates, r=emiliobors-servo
Do not evaluate variadic template types This is a workaround for an internal clang assertion that gets triggered if we try to evaluate a variadic template type reference. Fixes #283 r? @emilio
2016-11-21Address review comments.Emilio Cobos Álvarez
2016-11-21ir: Pass the location instead of the declaration for TemplateRef's.Emilio Cobos Álvarez
2016-11-21ir: Explicitly bypass NamespaceRef'sEmilio Cobos Álvarez
2016-11-21ir: Properly recurse inside types.Emilio Cobos Álvarez
2016-11-21Apply fixes due code review for issue #57Artem Biryukov
2016-11-21Reformat.Emilio Cobos Álvarez
2016-11-21codegen: Fix whitelisting inside namespaces.Emilio Cobos Álvarez
2016-11-20Update error wording for enum_type().expect()Tai Sassen-Liang
2016-11-20clang::Cursor::enum_type should return an Option<Type>Tai Sassen-Liang
Fixes issue #125
2016-11-20Add new expectations for testsArtem Biryukov
2016-11-20Take out template arguments and make unique namesArtem Biryukov
2016-11-20First steps to fix issue #57Artem Biryukov
2016-11-18Do not evaluate variadic template typesNick Fitzgerald
This is a workaround for an internal clang assertion that gets triggered if we try to evaluate a variadic template type reference. Fixes #283
2016-11-18Auto merge of #207 - Natim:130-cursor-args-return-vector, r=emiliobors-servo
clang::Cursor::args should return an Option<Vec<Cursor>> Attempt to fix #130
2016-11-18Auto merge of #281 - fitzgen:namespace-mangle-rust-symbols, r=emiliobors-servo
Include namespaces in mangled symbols When we aren't using `--enable-cxx-namespaces`, we can end up with conflicting struct symbol names that we need to disambiguate. The solution is to mangle the namespaced C++ symbol "foo::bar::Baz" into the Rust "foo_bar_Baz" symbol. This did change the way anonymous types and modules get named a little, but I think our approach is much more sane now than it was before. Fixes #267. r? @emilio
2016-11-18Include namespaces in mangled symbolsNick Fitzgerald
When we aren't using `--enable-cxx-namespaces`, we can end up with conflicting struct symbol names that we need to disambiguate. The solution is to mangle the namespaced C++ symbol "foo::bar::Baz" into the Rust "foo_bar_Baz" symbol.
2016-11-17Make `ir::Item::is_module` publicNick Fitzgerald
2016-11-18codegen: Properly mangle bitfield getters.Emilio Cobos Álvarez
2016-11-17Attempt to fix #130 — clang::Cursor::args should return an Option<Vec<Cursor>>Rémy HUBSCHER
2016-11-17ir: Avoid generating out-of-range values in constants.Emilio Cobos Álvarez
Fixes #274
2016-11-17Generate bool value for bool constantsXidorn Quan
This fixes #272.
2016-11-16Auto merge of #260 - emilio:macro-str, r=fitzgenbors-servo
Constant variable improvements. Fixes #256. r? @fitzgen
2016-11-16Address review comments.Emilio Cobos Álvarez
2016-11-16ir: context: fall back to use the declaration as a key when there's no USR.Emilio Cobos Álvarez
Apparently MSVC isn't that good at giving us USRs... Fixes #271
2016-11-16libbindgen: Make logging optionalJeff Waugh
Note that the log crate isn't completely banished, as other is required by other dependencies.
2016-11-16ir: var: Missing docs.Emilio Cobos Álvarez
2016-11-16Multiple constant generation evaluation improvements.Emilio Cobos Álvarez
2016-11-16reformat.Emilio Cobos Álvarez
2016-11-16clang: Evaluate more complex constant expressions in variables.Emilio Cobos Álvarez
2016-11-16clang: Don't leak all the strings in the world.Emilio Cobos Álvarez
2016-11-16clangll: Add bindings to CXEvalResultEmilio Cobos Álvarez
2016-11-15Auto merge of #266 - fitzgen:little-logging-things, r=emiliobors-servo
Little logging things Little things. See commit messages for details. r? @emilio
2016-11-15Add `debug!` logging in code generationNick Fitzgerald
This instruments each `CodeGenerator` implementation with a `debug!` logging macro.
2016-11-15Clean up AST dumpingNick Fitzgerald
This adds labels to each thing that gets printed for each AST node, and uses a range for indent iteration rather than an index variable.
2016-11-15Add an option to emit our ir for debuggingNick Fitzgerald
Similar to our ability to emit the clang AST, this adds an option to emit our IR for debugging purposes.
2016-11-16Transition to libbindgen sub-crateJeff Waugh
- The root crate is the `bindgen` binary - Rust-ify the test suite, no more subprocesses! - Update Travis config to test both crates