summaryrefslogtreecommitdiff
path: root/bindgen-integration/cpp/Test.cc
AgeCommit message (Collapse)Author
2021-01-30Add failing regression test for #1973.Corey Farwell
2020-09-15Add integration test for name matchingYoumu
2018-11-10Add tests for renamed structure itemsSébastien Duquette
2018-11-10Add integration testsSébastien Duquette
2018-01-29ir: Choose the right mangling for destructors on all codepaths.Emilio Cobos Álvarez
Fixes #1133.
2017-11-21Support bitfield allocation units larger than 64 bitsNick Fitzgerald
Individual bitfields are still limited to at most 64 bits, but this restriction can be weakened when Rust supports u128. This implements issue #816. Usage notes: * Since common code is added to each generated binding, a program which uses more than one binding may need to work around the duplication by including each binding in its own module. * The values created by bitfield allocation unit constructors can be assigned directly to the corresponding struct fields with no need for transmutation. Implementation notes: __BindgenBitfieldUnit represents a bitfield allocation unit using a Storage type accessible as a slice of u8. The alignment of the unit is inherited from an Align type by virtue of the field: align: [Align; 0], The position of this field in the struct is irrelevant. The alignment of the Storage type is intended to be no larger than the alignment of the Align type, which will be true if the Storage type is, for example, an array of u8. Although the double underscore (__) prefix is reserved for implementations of C++, there are precedents for this convention elsewhere in bindgen and so the convention is adopted here too. Acknowledgement: Thanks to @fitzgen for an initial implementation of __BindgenBitfieldUnit and code to integrate it into bindgen.
2017-06-18codegen: Fix bitfield getter/setters so they work with NPOT sizes.Emilio Cobos Álvarez
2017-06-05ir: Fix a bunch of bitfield correctness issues.Emilio Cobos Álvarez
In particular, the "flush the allocation unit" logic is only valid for ms_structs (that is, MSVC). It's slightly annoying to have this different behavior, but it'd work just fine if we'd turn that on for MSVC. This patch doesn't do that, yet at least, and adds tests for all the weird bitfield alignments around. Fixes #726 (and another set of hidden issues by the old code).
2017-04-04codegen: Add integration tests for destructors.Emilio Cobos Álvarez
2017-03-09Reintroduce bitfield accessorsNick Fitzgerald
This commit reintroduces accessor methods for bitfields in the generated bindings. Fixes #519
2017-01-30tests: Add an integration test for static arrays.Emilio Cobos Álvarez
Turns out they were broken before https://github.com/servo/rust-bindgen/issues/456. Let's test it so it doesn't regress.
2016-12-13Add support for constructors, and integration tests.Emilio Cobos Álvarez