1*e79ed500Srillig /* $NetBSD: msg_153.c,v 1.9 2024/11/23 16:48:35 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_153.c" 3a0a15c14Srillig 44b52b116Srillig // Test for message: converting '%s' to incompatible '%s' for argument %d [153] 5a0a15c14Srillig 6b2baa501Srillig /* lint1-extra-flags: -X 351 */ 7b2baa501Srillig 8033a381eSrillig 9033a381eSrillig typedef double (*unary_operator)(double); 10033a381eSrillig 114b52b116Srillig void sink_function_pointer(unary_operator); 124b52b116Srillig void sink_int_pointer(int *); 1388d1eb23Srillig void sink_qualifiers(char *, const char *, volatile char *, const volatile char *); 14033a381eSrillig 15033a381eSrillig void 164b52b116Srillig to_function_pointer(int *x) 17033a381eSrillig { 1865e5c21bSrillig /* expect+1: warning: converting 'pointer to int' to incompatible 'pointer to function(double) returning double' for argument 1 [153] */ 1965e5c21bSrillig sink_function_pointer(x); 204b52b116Srillig } 214b52b116Srillig 224b52b116Srillig void 234b52b116Srillig to_int_pointer(unary_operator op) 244b52b116Srillig { 2565e5c21bSrillig /* expect+1: warning: converting 'pointer to function(double) returning double' to incompatible 'pointer to int' for argument 1 [153] */ 2665e5c21bSrillig sink_int_pointer(op); 27033a381eSrillig } 2888d1eb23Srillig 2988d1eb23Srillig void 3088d1eb23Srillig qualifiers(char *ptr, const volatile char *cvptr) 3188d1eb23Srillig { 3288d1eb23Srillig sink_qualifiers(ptr, ptr, ptr, ptr); 3388d1eb23Srillig 34*e79ed500Srillig /* expect+3: warning: passing 'pointer to const volatile char' to argument 1 discards 'const volatile' [383] */ 35*e79ed500Srillig /* expect+2: warning: passing 'pointer to const volatile char' to argument 2 discards 'volatile' [383] */ 36*e79ed500Srillig /* expect+1: warning: passing 'pointer to const volatile char' to argument 3 discards 'const' [383] */ 3788d1eb23Srillig sink_qualifiers(cvptr, cvptr, cvptr, cvptr); 3888d1eb23Srillig } 39