summaryrefslogtreecommitdiff
path: root/tests/headers/empty-enum.h
diff options
context:
space:
mode:
authorNick Fitzgerald <fitzgen@gmail.com>2017-12-08 15:42:59 -0800
committerNick Fitzgerald <fitzgen@gmail.com>2017-12-12 14:13:26 -0600
commit43c43ba80f84704c5dc976e1669edf8e898286b3 (patch)
tree1b90299825aa17b46951b3635e9c5c25141fd252 /tests/headers/empty-enum.h
parentd9950d4f1c23c4eb5c6e07cab855c2bd985a6ed3 (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.h15
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;