summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-11-06make fallible_semantic_parent do ffi call and validationMalisa Smith
2016-11-06Restore outer conditional.J. Cliff Dyer
2016-11-06Wrap enum_val_signed in an Option.J. Cliff Dyer
Also reorganize calling function to avoid duplicate checking of cursor type. Fixes #127
2016-11-06Remove unused template_arg_kind function.J. Cliff Dyer
2016-11-06bin: Remove unused import.Emilio Cobos Álvarez
2016-11-06bindgen: Support --use-core and --ctypes-prefix.Emilio Cobos Álvarez
2016-11-06Cargo fmtEmilio Cobos Álvarez
2016-11-06Removed template_arg_value method in clang.rsNikhil Shagrithaya
2016-11-05Auto merge of #203 - ajnirp:137-pointee-type, r=emiliobors-servo
change return value of Type::pointee_type() to Option<Type> Fixes #137
2016-11-04change return value of Type::pointee_type() to Option<Type>Rohan Prinja
2016-11-04Don't be loud about ignoring `using` and `static_assert` cursorsNick Fitzgerald
2016-11-04Don't be loud about ignoring macro expansion cursorsNick Fitzgerald
2016-11-04Auto merge of #210 - fitzgen:dangling-item-id-in-partial-specializations, ↵bors-servo
r=emilio Dangling item id in partial specializations See individual commit messages for details. r? @emilio
2016-11-04Use a known-resolved ItemId as a parent in partial specialization childrenNick Fitzgerald
The `with_id` id will potentially end up unused if we find we already have an item (with its own distinct `ItemId`) for the type, so if we pass `with_id` as the parent id when parsing children it is potentially a dangling reference. Instead, use the canonical template declaration as the parent. It is already parsed and has a known-resolvable `ItemId`.
2016-11-04Use a temporary for the return value in IteId::next()Nick Fitzgerald
This adds a temporary binding for the newly allocated id so that we can use it in conditional breakpoints when debugging dangling `ItemId` references. I believe that we will want the ability to set conditional breakpoints in this method every single time we end up debugging dangling references, so it is worth landing in master.
2016-11-04clang::Cursor::definition should return Option<clang::Cursor> — Fixes #123Rémy HUBSCHER
Paired with @glasserc
2016-11-04Auto merge of #205 - Natim:131-cursor-ret-type-return-option-type, r=emiliobors-servo
Make clang::Cursor::ret_type return an Option<Type> — Fixes #131 Well apparently nobody is using `Cursor::ret_type` 😢
2016-11-04Rip it out please.Rémy HUBSCHER
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