diff options
author | Nick Fitzgerald <fitzgen@gmail.com> | 2017-12-08 15:42:59 -0800 |
---|---|---|
committer | Nick Fitzgerald <fitzgen@gmail.com> | 2017-12-12 14:13:26 -0600 |
commit | 43c43ba80f84704c5dc976e1669edf8e898286b3 (patch) | |
tree | 1b90299825aa17b46951b3635e9c5c25141fd252 /tests/headers/empty-enum.h | |
parent | d9950d4f1c23c4eb5c6e07cab855c2bd985a6ed3 (diff) |
Always add `repr(C)` to rustified enums
If we don't, then eddyb's recent layout optimizations will do unexpected things
to them.
We also need to handle empty `enum`s without variants. When `repr(C)` is on a
Rust `enum`, it cannot be empty, so we need to add a dummy.
Diffstat (limited to 'tests/headers/empty-enum.h')
-rw-r--r-- | tests/headers/empty-enum.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/headers/empty-enum.h b/tests/headers/empty-enum.h new file mode 100644 index 00000000..8b7502e6 --- /dev/null +++ b/tests/headers/empty-enum.h @@ -0,0 +1,15 @@ +// bindgen-flags: --rustified-enum '.*Rustified.*' --constified-enum-module '.*Module.*' -- -x c++ --std=c++14 + +// Constified is default, so no flag for that. + +enum EmptyConstified {}; +enum EmptyRustified {}; +enum EmptyModule {}; + +enum class EmptyClassRustified : char {}; +enum class EmptyClassConstified : char {}; +enum class EmptyClassModule : char {}; + +enum class ForwardClassRustified : char; +enum class ForwardClassConstified : char; +enum class ForwardClassModule : char; |