msg_126.c revision 1.9
11.9Srillig/* $NetBSD: msg_126.c,v 1.9 2024/12/09 22:43:33 rillig Exp $ */ 21.1Srillig# 3 "msg_126.c" 31.1Srillig 41.4Srillig// Test for message: incompatible types '%s' and '%s' in conditional [126] 51.1Srillig 61.9Srillig/* lint1-extra-flags: -X 351 -q 1 */ 71.7Srillig 81.6Srillig/* ARGSUSED */ 91.9Srilligvoid 101.9Srilligexample(int i, void *ptr, double dbl, void (*return_void)(void)) 111.2Srillig{ 121.9Srillig /* expect+1: error: incompatible types 'pointer to void' and 'double' in conditional [126] */ 131.9Srillig i = i > 0 ? ptr : dbl; 141.9Srillig 151.9Srillig ptr = i > 0 ? ptr : (void *)0; 161.9Srillig 171.9Srillig ptr = i > 0 ? ptr : 0; 181.9Srillig 191.9Srillig /* expect+1: implicit conversion from floating point 'double' to integer 'int' [Q1] */ 201.9Srillig i = i > 0 ? dbl : i; 211.9Srillig 221.9Srillig // GCC accepts the 'int/void' mismatch even with -Wall -Wextra -std=c99. 231.9Srillig /* expect+1: warning: incompatible types 'void' and 'int' in conditional [126] */ 241.9Srillig i > 0 ? return_void() : 0; 251.9Srillig 261.9Srillig i > 0 ? return_void() : (void)0; 271.2Srillig} 28