msg_130.c revision 1.6
11.6Srillig/* $NetBSD: msg_130.c,v 1.6 2021/03/05 16:31:49 rillig Exp $ */ 21.1Srillig# 3 "msg_130.c" 31.1Srillig 41.5Srillig// Test for message: enum type mismatch: '%s' '%s' '%s' [130] 51.1Srillig 61.2Srilligenum color { 71.4Srillig RED = 1 << 0, 81.4Srillig GREEN = 1 << 1, 91.4Srillig BLUE = 1 << 2 101.4Srillig}; 111.4Srillig 121.4Srilligenum size { 131.4Srillig SMALL, 141.4Srillig MEDIUM, 151.4Srillig LARGE 161.2Srillig}; 171.2Srillig 181.2Srilligenum daytime { 191.2Srillig NIGHT, MORNING, NOON, EVENING 201.2Srillig}; 211.2Srillig 221.4Srilligvoid sink(_Bool); 231.4Srillig 241.4Srilligvoid 251.4Srilligexample(_Bool cond, enum color c, enum size s) 261.2Srillig{ 271.4Srillig sink(cond ? GREEN : MORNING); /* expect: 130 */ 281.4Srillig 291.4Srillig sink(c != s); /* expect: 130 */ 301.4Srillig sink(c == s); /* expect: 130 */ 311.4Srillig sink((c & MEDIUM) != 0); /* might be useful to warn about */ 321.4Srillig sink((c | MEDIUM) != 0); /* might be useful to warn about */ 331.4Srillig 341.4Srillig c |= MEDIUM; /* might be useful to warn about */ 351.4Srillig c &= MEDIUM; /* might be useful to warn about */ 361.4Srillig 371.4Srillig /* The cast to unsigned is required by GCC at WARNS=6. */ 381.4Srillig c &= ~(unsigned)MEDIUM; /* might be useful to warn about */ 391.2Srillig} 401.6Srillig 411.6Srilligvoid 421.6Srilligswitch_example(enum color c) 431.6Srillig{ 441.6Srillig switch (c) { 451.6Srillig case EVENING: /* TODO: 130 */ 461.6Srillig case LARGE: /* TODO: 130 */ 471.6Srillig sink(1 == 1); 481.6Srillig break; 491.6Srillig default: 501.6Srillig break; 511.6Srillig } 521.6Srillig} 53