diff options
author | Theodore Dubois <tbodt@google.com> | 2021-10-13 15:00:47 -0700 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2021-10-27 19:22:51 +0200 |
commit | 57853405463dd985dd49a2f14fb78bbf3595b1df (patch) | |
tree | 60566919f85f5289730c2a110e96fb0b7df9f55c /tests/headers/explicit-padding.h | |
parent | 9738fb9d0bafbc986412d695ec6933eda94dbe4f (diff) |
Don't generate 2^64 byte padding fields on unions
The --explicit-padding flag would make bindgen try to add tail padding
to rust unions, by adding up the size of all the union fields and
subtracting from the size of the union as given by clang. The total size
of a union's fields is always larger than the union, so the subtraction
underflowed and bindgen produced padding fields larger than addressable
RAM.
Diffstat (limited to 'tests/headers/explicit-padding.h')
-rw-r--r-- | tests/headers/explicit-padding.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/headers/explicit-padding.h b/tests/headers/explicit-padding.h index d228961d..4abaafba 100644 --- a/tests/headers/explicit-padding.h +++ b/tests/headers/explicit-padding.h @@ -9,3 +9,9 @@ struct pad_me { uint32_t second; uint16_t third; }; + +union dont_pad_me { + uint8_t first; + uint32_t second; + uint16_t third; +}; |