summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-05-15Update tests to account for changed #[link_name] attribute emission.Michael Woerister
2019-03-25ir: Whitelist items that don't generate code to improve derive behavior.Emilio Cobos Álvarez
When not whitelisting recursively. Fixes #1454
2019-03-21Derive Default for function pointersJethro Beekman
2019-03-21Unify derive logicJethro Beekman
2019-03-20Enable logging in test suiteJethro Beekman
2019-03-15Merge pull request #1537 from jhwgh1968/clang_env_argsEmilio Cobos Álvarez
Add BINDGEN_EXTRA_CLANG_ARGS env variable
2019-03-13Add BINDGEN_EXTRA_CLANG_ARGS env variablejhwgh1968
2019-03-10fix issue #1535Porter Smith
2019-03-06Work around a libclang bug / limitation.Emilio Cobos Álvarez
For references, libclang returns the size and align of the pointee. This actually matches how C++'s sizeof() and alignof() works, for some reason, though in this case we really want to know the pointer's layout. Anyhow, we know the target pointer size, so manually handle this case. Filed https://bugs.llvm.org/show_bug.cgi?id=40975 for this.
2019-03-04codegen: Properly track alignment of unions.Emilio Cobos Álvarez
This makes us not unnecessarily add repr(align) to unions. Closes #1498.
2019-03-04Update default rust target to 1.33.Emilio Cobos Álvarez
Closes #1529.
2019-02-22Work-around https://bugs.llvm.org/show_bug.cgi?id=40813.Emilio Cobos Álvarez
This fixes a crash when using non-deductible auto types.
2019-02-11fix one argument block pointer issue, #1378Flier Lu
2019-02-04codegen: Append implicit template parameters to base members.Emilio Cobos Álvarez
Fixes #1514
2019-02-03Rework the way that argument types and names are found from function signatures.Porter Smith
This fixes the issue seen in #1500 where function pointers as a return type have their parameters incorrectly generated. This also fixes a broken test case, objc_property_fnptr, as its types are now generated correctly.
2019-02-03ir: Ignore constructors with bogus spellings.Emilio Cobos Álvarez
2019-01-18Fix layout with packed class that only has a vtableTom Tromey
I noticed that a `#pragma packed` class that has only a vtable but no data members is not marked repr(packed). The bug is that is_packed examines data members but not the vtable when applying its heuristic.
2019-01-16Add `BINDGEN_OVERWRITE_EXPECTED` for recording testsChristian Legnitto
Currently when tests are run all expectations are overwritten. This makes it hard to debug a failing test, as every time one reruns `cargo test` the expectation is updated and subsequently passes. With this change we now check the `BINDGEN_OVERWRITE_EXPECTED` env variable. If set, we overwrite the expectation. If not, the contents stay the same and the test continues to fail.
2019-01-08Support #[repr(packed(N))] on Rust 1.33+Christian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/537.
2019-01-03Bitfield enums use #[repr(transparent)] on Rust 1.28+Christian Legnitto
Fixes https://github.com/rust-lang/rust-bindgen/issues/1474.
2018-12-28codegen: Make zero-sized arrays affect alignment.Emilio Cobos Álvarez
Fixes #684
2018-12-28codegen: ctypes_prefix may not be an ident.Emilio Cobos Álvarez
This fixes a panic uncovered by the proc_macro update, which validates idents now. We were using it as a pretty crappy way to turn it into something that could be turned into a TokenStream. But TokenStream implements FromStr now.
2018-12-14ir: Put function attribute detection under an opt-in flag.Emilio Cobos Álvarez
Given it was a considerable performance hit under some workloads. Closes #1465.
2018-12-02codegen: Properly detect bindgen unions.Emilio Cobos Álvarez
The root cause of the issue was the missing: ``` self.saw_bindgen_union |= new.saw_bindgen_union; ``` But I also cleaned up a bit more and removed the unused saw_union. Fixes #1457
2018-11-30Remove the hack now that rustfmt-nightly properly preserves the comments.Emilio Cobos Álvarez
2018-11-30Use rustfmt's normalize_doc_attributes, to mostly preserve behavior re. doc ↵Emilio Cobos Álvarez
comments.
2018-11-30Update quote and proc-macro.Bastien Orivel
I give up on the doc comments. This is a rebase of #1334 keeping the formatting of the comments and using TokenStream::from_str instead because one can hope. Fixes #1407.
2018-11-28Add source annotation to express explicit derives for a type.Porter Smith
This allows for explicit selection of which traits are derived for a type, e.g. deriving custom traits on particular types that need it. Example usage: ```C++ /// <div rustbindgen derive="Clone"></div> /// <div rustbindgen derive="MyDerivableTrait"></div> struct foo { ... }; ``` generates into ```Rust #[derive(Clone,MyDerivableTrait)] struct foo { ... } ```
2018-11-27Add #[must_use] to functions annotated with __attribute__((warn_unused_result))Porter Smith
2018-11-13Auto merge of #1444 - scoopr:fix_noisy, r=emiliobors-servo
Fix noisy errors This silences errors from template functions and dependant types.
2018-11-14Fix noisy errorsMikko Lehtonen
This silences errors from template functions and dependant types.
2018-11-13Fix namespaces with macro namesMikko Lehtonen
2018-11-07Use canonical path for type alias loop detectionSeo Sanghyeon
2018-11-06codegen: Make the mangling name check work in presence of ↵Emilio Cobos Álvarez
attribute(overloadable). Fixes #1350
2018-10-29ir: Consistently append implicit template parameters when not using Rust unions.Emilio Cobos Álvarez
Fixes #1429.
2018-10-22codegen: Teach bindgen to respect constness of statics.Emilio Cobos Álvarez
2018-10-18Auto merge of #1425 - emilio:cexpr-up, r=emiliov0.42.3bors-servo
Update cexpr. Fixes #1424.
2018-10-19Update cexpr.Emilio Cobos Álvarez
Fixes #1424.
2018-10-19tests: Add test coverage for #1424.Emilio Cobos Álvarez
2018-10-13Make blacklist-item.hpp test clearerJason Reed
2018-10-13Changed 'identifier' to 'item', added c++ testJason Reed
2018-10-12Re-add ability to blacklist arbitrary identifiersJason Reed
(regardless of which sort of Item they are)
2018-10-11ir: Ensure everything agrees in which kind of variation an enum generates.Emilio Cobos Álvarez
2018-10-04Puts blocks behind a switch.Emilio Cobos Álvarez
Since #1378 broke a bunch of OSX builds. Most people don't care about them and they're in some OSX system headers which means that this could break normal C and C++ stuff. This introduces --generate-block / generate_block to generate these signatures, and adds tests so that this is getting tested.
2018-10-04Update bogus tests that relied on some sort of quirk revealed by the nom update.Emilio Cobos Álvarez
2018-09-26A better fix for the calling convention madness.Emilio Cobos Álvarez
Seems like a better fix, which allows us to preserve typedefs properly, and also to find the calling convention. Fixes #1402.
2018-09-25Indicate the anonymous lifetime in Formatter.jkozlowski
2018-09-24Auto merge of #1396 - tathanhdinh:master, r=emiliobors-servo
PartialOrd and Ord for enum Hello all, This PR tries to fix #1395. Many thanks for any comment.
2018-09-22PartialOrd and Ord for enumTA Thanh Dinh
2018-09-22codegen: Explicitly align unions if needed.Emilio Cobos Álvarez
Also adds a test header I missed from the previous PR. Fixes #1393