From 977a58a8fd16bccfbc11b5c4c70b869fded9f8b9 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Thu, 9 Sep 2010 00:40:43 +0000 Subject: [PATCH] Include test case for . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113458 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Analysis/misc-ps.m | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m index 4fbaa49c11..206eb51371 100644 --- a/test/Analysis/misc-ps.m +++ b/test/Analysis/misc-ps.m @@ -1068,3 +1068,30 @@ void pr8050(struct PR8050 **arg) *arg = malloc(1); } +// Switch on enum should not consider default case live +// if all enum values are covered +enum Cases { C1, C2, C3, C4 }; +void test_enum_cases(enum Cases C) { + switch (C) { + case C1: + case C2: + case C4: + case C3: + return; + } + int *p = 0; + *p = 0xDEADBEEF; // no-warning +} + +void test_enum_cases_positive(enum Cases C) { + switch (C) { // expected-warning{{enumeration value 'C4' not handled in switch}} + case C1: + case C2: + case C3: + return; + } + int *p = 0; + *p = 0xDEADBEEF; // expected-warning{{Dereference of null pointer}} +} + + -- 2.50.1