diff options
author | Nick Fitzgerald <fitzgen@gmail.com> | 2016-11-10 10:39:24 -0800 |
---|---|---|
committer | Nick Fitzgerald <fitzgen@gmail.com> | 2016-11-11 10:10:29 -0800 |
commit | 53f7a50e2e4f5ef4784e005dee1e00089a7d4ec8 (patch) | |
tree | 14c3e7330b459a041c6d35071d08c760ea0f6e8a /tests/headers/float128.hpp | |
parent | 8d83bdfb48e292abd7db5a3093aefce0c893d3a5 (diff) |
Add rudimentary support for `__float128`
This adds `__float128` as a builtin type, and generates an opaque array
of 16 `u8`s to represent it in the generated bindings since Rust doesn't
have an `f128` type.
Context and motivation: Somehow `__float128` is getting pulled into
SpiderMonkey headers from somewhere, and the lack of `__float128`
support was causing bindgen to hard fail in bindings generation.
Diffstat (limited to 'tests/headers/float128.hpp')
-rw-r--r-- | tests/headers/float128.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/headers/float128.hpp b/tests/headers/float128.hpp new file mode 100644 index 00000000..f554e88e --- /dev/null +++ b/tests/headers/float128.hpp @@ -0,0 +1,13 @@ +// FIXME: libclang < 3.9 does not expose `__float128` in its interface, so this +// test will fail. Once we remove support for `--features llvm_stable` and +// require libclang >= 3.9, we can reenable this test. +// +// static __float128 global = 1.0; + +// FIXME: We have no way to get 128 bit aligned structs in Rust at the moment, +// and therefore the generated layout tests for this struct will fail. When we +// can enforce 128 bit alignment, we can re-enable this test. +// +// struct A { +// __float128 f; +// }; |