1 1.7 rillig /* $NetBSD: msg_138.c,v 1.7 2024/01/28 08:17:27 rillig Exp $ */ 2 1.1 rillig # 3 "msg_138.c" 3 1.1 rillig 4 1.5 rillig // Test for message: unknown operand size, op '%s' [138] 5 1.1 rillig 6 1.6 rillig /* lint1-extra-flags: -z -X 351 */ 7 1.4 rillig 8 1.4 rillig struct incomplete; 9 1.4 rillig 10 1.4 rillig /* 11 1.4 rillig * This code doesn't make sense at all, at least not in C99. 12 1.4 rillig */ 13 1.4 rillig /* ARGSUSED */ 14 1.4 rillig void 15 1.4 rillig function(_Bool cond, struct incomplete *i1, struct incomplete *i2) 16 1.4 rillig { 17 1.7 rillig /* expect+2: error: cannot initialize 'incomplete struct incomplete' from 'pointer to incomplete struct incomplete' [185] */ 18 1.7 rillig /* expect+1: error: 'local' has incomplete type 'incomplete struct incomplete' [31] */ 19 1.4 rillig struct incomplete local = i1; 20 1.4 rillig 21 1.5 rillig /* expect+1: error: unknown operand size, op '=' [138] */ 22 1.4 rillig *i1 = *i2; 23 1.4 rillig 24 1.5 rillig /* expect+1: error: unknown operand size, op ':' [138] */ 25 1.4 rillig return cond ? *i1 : *i2; 26 1.4 rillig } 27 1.4 rillig 28 1.4 rillig /* ARGSUSED */ 29 1.4 rillig struct incomplete 30 1.4 rillig return_incomplete(struct incomplete *ptr) 31 1.4 rillig /* expect+1: error: cannot return incomplete type [67] */ 32 1.4 rillig { 33 1.4 rillig /* expect+1: error: cannot return incomplete type [212] */ 34 1.4 rillig return *ptr; 35 1.4 rillig } 36