summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-19Auto merge of #403 - emilio:variadic-fn, r=fitzgenbors-servo
codegen: Don't implement variadic methods. Fixes #402 r? @fitzgen
2017-01-19Auto merge of #401 - emilio:function-checks, r=fitzgenbors-servo
ir: Unify function checks so they apply to non-methods. Fixes #399 r? @fitzgen
2017-01-19Auto merge of #397 - emilio:trace-vars, r=fitzgenbors-servo
ir: Trace types across vars. r? @fitzgen
2017-01-19ir: Fix the assert no danging items traversal to avoid getting hung on a ↵Emilio Cobos Álvarez
cyclic reference caused by inner_const.hpp.
2017-01-19Auto merge of #396 - emilio:enum-alias, r=fitzgenbors-servo
codegen: Prefer use instead of type aliases. r? @fitzgen
2017-01-18codegen: Don't implement variadic methods.Emilio Cobos Álvarez
Fixes #402
2017-01-16ir: Unify function checks so they apply to non-methods.Emilio Cobos Álvarez
2017-01-16Auto merge of #400 - servo:env_logger, r=emiliobors-servo
Update env_logger.
2017-01-16Update env_logger.Ms2ger
2017-01-15ir: Trace types across vars.Emilio Cobos Álvarez
2017-01-13codegen: Fix use generation for non-root module.Emilio Cobos Álvarez
2017-01-13codegen: Prefer use instead of type aliases.Emilio Cobos Álvarez
2017-01-13Update aster and syntex.Emilio Cobos Álvarez
2017-01-11Auto merge of #395 - emilio:inline-namespace, r=fitzgenbors-servo
ir: Handle inline namespaces. Here's my proposal to handle them, r? @fitzgen
2017-01-11ir: Handle inline namespaces.Emilio Cobos Álvarez
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-11Auto merge of #387 - emilio:trace-improvements, r=fitzgenbors-servo
Improve tracing so it doesn't ignore opaque stuff when it shouldn't Concretely, trace through functions, pointers, arrays, references, resolved type references, and template references, which are the types for which either: * There's no special meaning to be opaque, or * They're just placeholders that point to other types.
2017-01-11Test opaque tracing through function arguments and pointer types.Emilio Cobos Álvarez
2017-01-11codegen: Don't make auto-opaque types without template params.Emilio Cobos Álvarez
2017-01-11ir: Trace through some types while collecting automatically.Emilio Cobos Álvarez
This makes sense because there's no special meaning for some of them to be opaque.
2017-01-11ir: Define a set of items we want to collect types through unconditionally.Emilio Cobos Álvarez
2017-01-11Auto merge of #393 - emilio:enum-const-api, r=upsuperbors-servo
Provide an API to constify enum variants. r? @upsuper
2017-01-11ir: Support hiding enum variants.Emilio Cobos Álvarez
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-11codegen: Constify enum variants.Emilio Cobos Álvarez
2017-01-10Auto merge of #383 - emilio:virtual-base, r=fitzgenbors-servo
Tidy up and test virtual inheritance handling. Done while investigating #380. r? @fitzgen
2017-01-10ir: Parse whether we should constify an enum variant.Emilio Cobos Álvarez
2017-01-10ir: Add an annotation API to constify enum variants.Emilio Cobos Álvarez
2017-01-10chooser: Add a programmatic API for choosing whether to constify an enum ↵Emilio Cobos Álvarez
variant.
2017-01-10ir: Add a helper to the context to access the user-provided type chooser.Emilio Cobos Álvarez
2017-01-09Auto merge of #391 - servo:bump, r=mbrubeckbors-servo
Bump to 0.1.6 None
2017-01-09Bump to 0.1.6Manish Goregaokar
2017-01-09Auto merge of #390 - emilio:str, r=Manishearthbors-servo
ir: Evaluate constant strings too. r? @Manishearth
2017-01-09ir: Evaluate constant strings too.Emilio Cobos Álvarez
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-06Auto merge of #385 - jsgf:master, r=emiliobors-servo
Update to regex 0.2; use regex::RegexSet for matching Rather than implementing a private RegexSet, implement it in terms of regex::RegexSet, which should be more efficient. Retain the existing RegexSet module and just reimplement its internals, in order to preserve the external API.
2017-01-06Update to regex 0.2; use regex::RegexSet for matchingJeremy Fitzhardinge
Rather than implementing a private RegexSet, implement it in terms of regex::RegexSet, which should be more efficient. Retain the existing RegexSet module and just reimplement its internals, in order to preserve the external API.
2017-01-06tests: Add virtual base tests.Emilio Cobos Álvarez
2017-01-06codegen: Properly handle virtual bases.Emilio Cobos Álvarez
2017-01-06ir: More appropriately track whether we're inheriting virtually.Emilio Cobos Álvarez
2017-01-06ir: Change our representation of base types so they also have a base kind.Emilio Cobos Álvarez
This still doesn't change behavior, but it's nice to split it for easier review. Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-05Auto merge of #382 - jsgf:master, r=fitzgenbors-servo
Allow regexps for --blacklist_type and --opaque_type
2017-01-05Allow regexps for --blacklist_type and --opaque_typeJeremy Fitzhardinge
2016-12-30Auto merge of #374 - fitzgen:derive-debug-with-array-too-big, r=emiliobors-servo
Derive debug with array too big See the first commit's message for details, second commit is just `rustfmt`. r? @emilio Not quite sure whether the `Opaque` struct is fully motivated... it seems like it would be useful later on in codegen, but might not be pulling its own weight without more usage...
2016-12-30Relax opaque layout trait deriving and take alignment into accountNick Fitzgerald
2016-12-29Run `cargo fmt` on `libbindgen`Nick Fitzgerald
2016-12-29Do not derive Copy/Debug for some opaque typesNick Fitzgerald
When we treat a type as opaque, either because it is explicitly annotated as such or because it is a template that has a non-type parameter, we need to check if the size is larger than RUST_DERIVE_IN_ARRAY_LIMIT. Performing this check requires information that is up the stack, in the `Item` rather than in the `CompInfo` or `Type`. Therefore, I introduced two traits to encapsulate whether a thing can derive `Debug` and `Copy` (the `CanDeriveDebug` and `CanDeriveCopy` traits, respectively) and implemented them for ALL THE THINGS. This allowes us to perform our various checks at the level where we have access to the necessary info, and to let sub-levels do their own checks with their sub-info. Fixes #372.
2016-12-29Auto merge of #371 - emilio:pointer, r=fitzgenbors-servo
codegen: Use the canonical type to determine whether we should conver… …t to a pointer an argument. Fixes https://github.com/Yamakaky/rust-bindgen/issues/407 r? @fitzgen
2016-12-29codegen: Use the canonical type to determine whether we should convert to a ↵Emilio Cobos Álvarez
pointer an argument. Fixes https://github.com/Yamakaky/rust-bindgen/issues/407
2016-12-28Auto merge of #369 - saneyuki:replace-error-to-warn, r=fitzgenbors-servo
Replace all non-fatal `error!`s with `warn!`s This fix https://github.com/servo/rust-bindgen/issues/368
2016-12-29Replace all non-fatal `error!`s with `warn!`sTetsuharu OHZEKI
2016-12-28Auto merge of #366 - upsuper:update-readme, r=emiliobors-servo
Update README.md to reflect the current situation There are several changes: * Announce that Clang 3.9 is the new default * Update the install steps for 3.9 * Add installing steps for Windows * Update stylo's usage of bindgen
2016-12-28Update README.md to reflect the current situationXidorn Quan
There are several changes: * Announce that Clang 3.9 is the new default * Update the install steps for 3.9 * Add installing steps for Windows * Update stylo's usage of bindgen