1 1.3 rillig /* $NetBSD: msg_108.c,v 1.3 2021/01/09 17:21:33 rillig Exp $ */ 2 1.1 rillig # 3 "msg_108.c" 3 1.1 rillig 4 1.1 rillig // Test for message: operand of '%s' has incompatible type (%s != %s) [108] 5 1.1 rillig 6 1.3 rillig /* 7 1.3 rillig * Before tree.c 1.137 from 2021-01-19, taking the complement of a struct 8 1.3 rillig * (an absurd idea, by the way), resulted in an internal error because the 9 1.3 rillig * message 108 had two operands, the second of which was always NOTSPEC, as 10 1.3 rillig * could be expected for a unary operator. 11 1.3 rillig * 12 1.3 rillig * Since an error "invalid type (none)" doesn't make sense, lint rather 13 1.3 rillig * chooses to crash than to generate such an error. 14 1.3 rillig */ 15 1.2 rillig void 16 1.3 rillig complement_of_a_struct(void) 17 1.2 rillig { 18 1.3 rillig struct s { 19 1.3 rillig int member; 20 1.3 rillig } s = { 21 1.3 rillig 0 22 1.3 rillig }; 23 1.2 rillig 24 1.3 rillig s = ~s; 25 1.2 rillig } 26