That seems less than ideal - I mean, there are definitely c libraries out there with bitfield widths in their header files, and we should be able to use them from rust. And if we do, there should be a way to generate the bindings that is systematic enough to be captured within bindgen (possibly with a flag specifying the ABI).
martin On Sun, Sep 8, 2013 at 7:37 PM, Corey Richardson <[email protected]> wrote: > Emit an error and fail, I'd say, unless you can tell it which ABI it's > targetting so it knows how to handle it. > > On Sun, Sep 8, 2013 at 8:20 PM, Martin DeMello <[email protected]> > wrote: >> On Sun, Sep 8, 2013 at 5:14 PM, Corey Richardson <[email protected]> wrote: >>> On Sun, Sep 8, 2013 at 7:20 PM, Martin DeMello <[email protected]> >>> wrote: >>>> So am I right that bitfield widths would first need to be added to the >>>> rust struct definition and code generator before they can be added to >>>> bindgen? I poked around the AST and middle code a bit but couldn't >>>> find it if it was there. >>>> >>> >>> Rust doesn't have bitfields and neither does LLVM, nor do I think we should: >>> >>> 1. bitfield members aren't addressable. >>> 2. It would be near impossible to replicate the exact behavior of >>> every C compiler for every platform and ABI it supports. >>> 3. They add significant additional complexity. >> >> Which returns me to the higher-level question, then - what is the >> correct thing for bindgen to do if handed a C struct with them? >> >> martin _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
