summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-11Minor cleanup after #1419.v0.42.2Emilio Cobos Álvarez
The previous PR ended up with a lot of just-called-once methods. Just inline them since they're confusing otherwise. Also avoid testing all the variants of an enum if there was a match already, or if the enum is not anonymous. This is mostly a minor optimization.
2018-10-11ir: Ensure everything agrees in which kind of variation an enum generates.Emilio Cobos Álvarez
2018-10-07Skip bitfield unit tests on big-endian platforms.Emilio Cobos Álvarez
Fixes #1412.
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 cexpr dependencykpcyrd
2018-10-01ir: Fix tabs in context.rs.Emilio Cobos Álvarez
2018-10-01adds 'async' to list of matches in 'rust_mangle'Azi Crawford
2018-09-30Fix args_are_cpp to look for -x without =David Vo
Clang doesn't allow `=` between `-x` and the language name.
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-26Better detect effective target.Emilio Cobos Álvarez
I just realized that we don't really check for this but that clang does.
2018-09-25Back out changesjkozlowski
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
2018-09-19Always force repr(align) attributes for stuff with alignment >= 16Emilio Cobos Álvarez
To work-around some cases of https://github.com/rust-lang/rust/issues/54341. Other cases where u128 and u64 are mixed in fields might not behave correctly, but the field offset assertions would catch them. Fixes #1370
2018-09-19Teach the float code about u128.Emilio Cobos Álvarez
2018-09-19Teach the blob code to generate i128 / u128 if available.Emilio Cobos Álvarez
This is very mechanical and boring, but needed.
2018-09-19codegen: Generate u128 / i128 when available.Emilio Cobos Álvarez
2018-09-19Add detection for i128 / u128 support.Emilio Cobos Álvarez
2018-09-14Fix typo: s/unkown/unknown/ (missing 'n')Daniel Holbert
2018-09-13Auto merge of #1384 - emilio:whitespace-comment, r=fitzgenbors-servo
ir: Preserve better whitespace in comments. Fixes #1341.
2018-09-10generate type alias for the `block` typeFlier Lu
2018-09-08ir: Preserve better whitespace in comments.Emilio Cobos Álvarez
Fixes #1341.
2018-09-04ir: Handle overflowing integer constant evaluation properly.Emilio Cobos Álvarez
Fixes #1380
2018-08-29options: mark clang-args lastSymphorien Gibol
before, bindgen -- -I blah would try to open `-I` as a header file.
2018-08-28Debug implementation: Don't use format! or String when core is enabledchrysn
As --use-core is typically given when the wrapped library is to be used in a no_std environment, format! and String can not be used. This is a quick fix that will cause regressions in the quality of the debug output to users that use core but are not no_std, but enables the use of bindgen with implemented Debug traits to no_std users. Closes: https://github.com/rust-lang-nursery/rust-bindgen/issues/1100
2018-08-28Debug implementation: use core if selectedchrysn
Contributes-To: https://github.com/rust-lang-nursery/rust-bindgen/issues/1100
2018-08-24Don't generate a __bindgen_align field if we support repr(align).Emilio Cobos Álvarez
2018-08-22Remove an out-of-date comment in RegexSet.Sébastien Duquette
RegexSet uses regex::RegexSet internally since the commit linked below, which compiles the regexes together. https://github.com/rust-lang-nursery/rust-bindgen/commit/51f5162f250a5ec10bc5ba8b91b60b45762bc999
2018-08-19Not gnereate binding for variadic function with ms_abiJean-Philippe Dufraigne
rustc fail to compile variadic function with ms_abi: error[E0045]: variadic function must have C or cdecl calling convention As suggested in issue, this short term fix: not generate binding and emit a warning. Fixes #997
2018-08-17Change a call to add_item that was passing a NullCursor.Sébastien Duquette
2018-08-14Auto merge of #1366 - gnzlbg:vec, r=emiliov0.38.0bors-servo
Map vector types to arrays and pass them by value This PR maps vector types to arrays and passes them by value (that is, they are passed to C as `[T; N]`. This already allows defining them as a blacklisted opaque type, such that the user can provide its own definition from e.g. `std::arch`. A subsequent PR should map vector types to unit structs with a private member: ```rust #[repr(align(16))] pub struct __m128([f32; 4]); ``` to make their alignment at least be correct. This should allow transmuting `std::arch` types to these types properly. Once that is done, we probably want to detect the canonical vector types (e.g. `__m128`) and pull in the type from `std`/`core`::arch instead.
2018-08-14address review commentsgnzlbg
2018-08-14Minor stylistic nits after #1362.Emilio Cobos Álvarez
2018-08-14address commentsSébastien Duquette
2018-08-14Convert CodegenOptions to a bitfield.Sébastien Duquette
2018-08-14map vector types to arrays and pass them by valuegnzlbg
2018-08-13Add ability to blacklist functions.Emilio Cobos Álvarez
Fixes #1336
2018-07-30lib: Remove stale TODO.Emilio Cobos Álvarez
2018-07-31Merge pull request #1351 from Imirsen/master. r=emilioEmilio Cobos Álvarez
select cpp or c search paths based on clang args
2018-07-30Minor cleanup after #1355.Emilio Cobos Álvarez
2018-07-30Require TemplateParameters to be Sized.Emilio Cobos Álvarez
To fix errors spawned since https://github.com/rust-lang/rust/issues/51443.
2018-07-30Merge pull request #1355 from Lytigas/associated-duplicate-enum. r=emilioEmilio Cobos Álvarez
Use associated constants for rust enums when available
2018-07-29Use associated constants for rust enums when availableJosh Hejna