summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-11-04Some cargo-fmt corrections.Rémy HUBSCHER
2016-11-04Make clang::Cursor::ret_type return an Option<Type> — Fixes #131Rémy HUBSCHER
2016-11-03Auto merge of #200 - fitzgen:replace-template-alias, r=emiliobors-servo
Allow aliases and template aliases to be considered for replacement Fixes #89. I'm not exactly *happy* with the way this is implemented (making `real_canonical_name` public so that we can use it in replacement lookups) but I'm not sure of a better way without refactoring most of how naming works right now. r? @emilio
2016-11-03Allow template aliases to be considered for replacementNick Fitzgerald
2016-11-03Auto merge of #187 - oldmanmike:log-clang-version, r=emiliobors-servo
Add logging of Clang version PR to address #152 for logging libclang version for debugging purposes. Let me know if it needs tweaking!
2016-11-03Auto merge of #199 - fitzgen:replace-template-alias, r=emiliobors-servo
Do not overwrite existing replacements It turns out that we can end up overwriting existing replacements. This commit embeds the assumption that the first replacement definition is the correct one, and warns on all attempts to overwrite the first replacement definition with a new one. Additionally, it adds some debug logging about replacements. This actually isn't enough to fix the test case in #89, but it is a good start. r? @emilio
2016-11-03Add bounds checks to version parsingoldmanmike
2016-11-03Do not overwrite existing replacementsNick Fitzgerald
It turns out that we can end up overwriting existing replacements. This commit embeds the assumption that the first replacement definition is the correct one, and warns on all attempts to overwrite the first replacement definition with a new one. Additionally, it adds some debug logging about replacements.
2016-11-03Auto merge of #191 - glasserc:specialized-optional, r=emiliobors-servo
Make clang::Cursor::specialized return an Option Fixes #122. pair=@Natim
2016-11-03Auto merge of #196 - emilio:visitor, r=fitzgenbors-servo
clang: Simplify visiting code. It has always been a mess. r? @fitzgen
2016-11-03clang: Simplify visiting code.Emilio Cobos Álvarez
It has always been a mess.
2016-11-02Reuse Cursor::is_valid()Ethan Glasser-Camp
Thanks @emilio for the suggestion.
2016-11-02Auto merge of #195 - emilio:stupid-blocks, r=fitzgenbors-servo
clang: Remove stupid `match` blocks and change them for well-supported functions. r? @fitzgen
2016-11-02Auto merge of #194 - emilio:template-args, r=fitzgenbors-servo
clang: Some partially specialized templates return no template argument count. Trying to construct a test case, meanwhile: r? @fitzgen
2016-11-02clang: Remove stupid `match` blocks and change them for well-supported ↵Emilio Cobos Álvarez
functions.
2016-11-02clang: Some partially specialized templates return no template argument count.Emilio Cobos Álvarez
2016-11-02Add a method to generate dummy C/C++ uses of whitelisted types for testingNick Fitzgerald
A part of #151.
2016-11-02Check resulting Cursor instead of the existing oneEthan Glasser-Camp
Thanks @fitzgen for the correction. This also allows us to simplify the is_template method. Thanks @emilio for the suggestion.
2016-11-02Make clang::Cursor::specialized return an OptionEthan Glasser-Camp
Fixes #122.
2016-11-02Fix #140 clang::Type::arg_types should return Option<Vec<Type>>Romain Loisel
2016-11-01Fix version logging and add ClangVersion structoldmanmike
2016-11-01Add logging of Clang versionoldmanmike
2016-11-01Avoid an extra lookup when finding new whitelisted items to traverseNick Fitzgerald
2016-11-01Use `BindgenContext::whitelisted_items` in code generationNick Fitzgerald
This replaces the manual gathering and traversal of the transitive closure of whitelisted items with the new canonical method.
2016-11-01Add a method for iterating over whitelisted itemsNick Fitzgerald
This commit adds the `BindgenContext::whitelisted_items` method and `WhitelistedItemsIter` iterator. Together, they can be used to iterate over whielisted items' transitive closure.
2016-11-01Get rid of `String_`, use Into<String> for CXString.Emilio Cobos Álvarez
2016-11-01Manual fixups, some of them pretty lame, and don't let rustfmt rewrap comments.Emilio Cobos Álvarez
2016-11-01Run `cargo fmt`.Emilio Cobos Álvarez
2016-11-01Let rustfmt find the codegen module.Emilio Cobos Álvarez
2016-11-01Convert mod comment to a proper comment to avoid hitting ↵Emilio Cobos Álvarez
https://github.com/rust-lang-nursery/rustfmt/issues/1184
2016-11-01Refactor how doc_mod works so rustfmt finds those modules easily.Emilio Cobos Álvarez
2016-11-01Don't auto-format generated files.Emilio Cobos Álvarez
2016-11-01Fix #121: call unwrap() directly instead of calling except()Aurélien Normand
2016-11-01Fix #121: Cursor::num_template_args(...) returns Option<u32> instead of c_intAurélien Normand
2016-11-01Auto merge of #175 - jeanphilippeD:issue136, r=fitzgen,emiliobors-servo
clang::Type::template_args return Option<TypeTemplateArgIterator> Fix #136 by providing a bound checked iterator replacing the interface.
2016-11-01Auto merge of #178 - Incognitas:master, r=fitzgenbors-servo
Fix for #138 : rework for elem_type() which now returns Option<Type> instead of Type Fixes #138 Since I am new to Rust, I hope I didn't do things too badly
2016-11-01Fix empty mangling handling on OSXEmilio Cobos Álvarez
2016-10-31Auto merge of #177 - fitzgen:move-type-collector, r=emiliobors-servo
Move the `TypeCollector` trait to the `ir` module This commit move the `TypeCollector` trait out from the `codegen` module and into its own submodule in `ir::type_collector`. Additionally, it puts the various `TypeCollector` trait implementations next to the types that each implementation is for. I'm going to start using this trait outside of codegen, and I think it makes more sense in `ir` since it is implemented by `ir` types and is all about `ir` things. r? @emilio
2016-10-31Move the `TypeCollector` trait to the `ir` moduleNick Fitzgerald
This commit moves the `TypeCollector` trait out from the `codegen` module and into its own submodule in `ir::type_collector`. Additionally, it puts the various `TypeCollector` trait implementations next to the types that each implementation is for.
2016-10-31rework for elem_type() which now returns Option<Type> instead of TypeAurélien Normand
2016-10-31clang::Type::template_args return Option<TypeTemplateArgIterator>Jean-Philippe DUFRAIGNE
2016-10-31Auto merge of #173 - emilio:errors, r=fitzgenbors-servo
Be less noisy about known to be unimportant errors. r? @fitzgen
2016-10-31Make the build deny(warnings).Emilio Cobos Álvarez
2016-10-31Auto merge of #171 - jeanphilippeD:issue135, r=emiliobors-servo
clang::Type::num_template_args return Option<u32> fix #135 Fix #135
2016-10-31Be less noisy about known to be unimportant errors.Emilio Cobos Álvarez
2016-10-31Use iterators for comment attributes fix #166Jean-Philippe DUFRAIGNE
2016-10-31Use iterators for comment children partial fix #166Jean-Philippe DUFRAIGNE
2016-10-31clang::Type::num_template_args return Option<u32> fix #135Jean-Philippe DUFRAIGNE
2016-10-31Auto merge of #158 - ajnirp:143-comment-get-tag-attr, r=emiliobors-servo
143 comment get tag attr Fixes #143
2016-10-30change return type of Comment::get_tag_attr_{name,value} to Option<String>Rohan Prinja