blob: 2bfc08af44e7b1cda7055607d6d4e1c5718fd301 [file] [log] [blame]
enum NonExhaustiveEnum {
NonExhaustiveEnumA = 0,
NonExhaustiveEnumB = 1,
NonExhaustiveEnumC = 2,
} __attribute__((enum_extensibility(open)));
enum NonExhaustiveEnum getExpectedValue(void) {
return NonExhaustiveEnumB;
}
enum NonExhaustiveEnum getUnexpectedValue(void) {
return (enum NonExhaustiveEnum)3;
}
enum LyingExhaustiveEnum {
LyingExhaustiveEnumA = 0,
LyingExhaustiveEnumB = 1,
LyingExhaustiveEnumC = 2,
} __attribute__((enum_extensibility(closed)));
enum LyingExhaustiveEnum getExpectedLiarValue(void) {
return LyingExhaustiveEnumB;
}
enum LyingExhaustiveEnum getUnexpectedLiarValue(void) {
return (enum LyingExhaustiveEnum)3;
}