msg_130.c revision 1.6
1/* $NetBSD: msg_130.c,v 1.6 2021/03/05 16:31:49 rillig Exp $ */ 2# 3 "msg_130.c" 3 4// Test for message: enum type mismatch: '%s' '%s' '%s' [130] 5 6enum color { 7 RED = 1 << 0, 8 GREEN = 1 << 1, 9 BLUE = 1 << 2 10}; 11 12enum size { 13 SMALL, 14 MEDIUM, 15 LARGE 16}; 17 18enum daytime { 19 NIGHT, MORNING, NOON, EVENING 20}; 21 22void sink(_Bool); 23 24void 25example(_Bool cond, enum color c, enum size s) 26{ 27 sink(cond ? GREEN : MORNING); /* expect: 130 */ 28 29 sink(c != s); /* expect: 130 */ 30 sink(c == s); /* expect: 130 */ 31 sink((c & MEDIUM) != 0); /* might be useful to warn about */ 32 sink((c | MEDIUM) != 0); /* might be useful to warn about */ 33 34 c |= MEDIUM; /* might be useful to warn about */ 35 c &= MEDIUM; /* might be useful to warn about */ 36 37 /* The cast to unsigned is required by GCC at WARNS=6. */ 38 c &= ~(unsigned)MEDIUM; /* might be useful to warn about */ 39} 40 41void 42switch_example(enum color c) 43{ 44 switch (c) { 45 case EVENING: /* TODO: 130 */ 46 case LARGE: /* TODO: 130 */ 47 sink(1 == 1); 48 break; 49 default: 50 break; 51 } 52} 53