diff options
Diffstat (limited to 'test/Sema/return.c')
-rw-r--r-- | test/Sema/return.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/Sema/return.c b/test/Sema/return.c index 54c3406..0c2c72e 100644 --- a/test/Sema/return.c +++ b/test/Sema/return.c @@ -203,7 +203,7 @@ int test30() { if (j) longjmp(test30_j, 1); else -#if defined(_WIN32) || defined(_WIN64) +#if defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__) longjmp(test30_j, 2); #else _longjmp(test30_j, 1); @@ -242,3 +242,16 @@ static inline int si_forward() {} // expected-warning{{control reaches end of no // Test warnings on ignored qualifiers on return types. const int ignored_c_quals(); // expected-warning{{'const' type qualifier on return type has no effect}} const volatile int ignored_cv_quals(); // expected-warning{{'const volatile' type qualifiers on return type have no effect}} + +// Test that for switch(enum) that if the switch statement covers all the cases +// that we don't consider that for -Wreturn-type. +enum Cases { C1, C2, C3, C4 }; +int test_enum_cases(enum Cases C) { + switch (C) { + case C1: return 1; + case C2: return 2; + case C4: return 3; + case C3: return 4; + } +} // no-warning + |