1 /* $NetBSD: msg_153.c,v 1.9 2024/11/23 16:48:35 rillig Exp $ */ 2 # 3 "msg_153.c" 3 4 // Test for message: converting '%s' to incompatible '%s' for argument %d [153] 5 6 /* lint1-extra-flags: -X 351 */ 7 8 9 typedef double (*unary_operator)(double); 10 11 void sink_function_pointer(unary_operator); 12 void sink_int_pointer(int *); 13 void sink_qualifiers(char *, const char *, volatile char *, const volatile char *); 14 15 void 16 to_function_pointer(int *x) 17 { 18 /* expect+1: warning: converting 'pointer to int' to incompatible 'pointer to function(double) returning double' for argument 1 [153] */ 19 sink_function_pointer(x); 20 } 21 22 void 23 to_int_pointer(unary_operator op) 24 { 25 /* expect+1: warning: converting 'pointer to function(double) returning double' to incompatible 'pointer to int' for argument 1 [153] */ 26 sink_int_pointer(op); 27 } 28 29 void 30 qualifiers(char *ptr, const volatile char *cvptr) 31 { 32 sink_qualifiers(ptr, ptr, ptr, ptr); 33 34 /* expect+3: warning: passing 'pointer to const volatile char' to argument 1 discards 'const volatile' [383] */ 35 /* expect+2: warning: passing 'pointer to const volatile char' to argument 2 discards 'volatile' [383] */ 36 /* expect+1: warning: passing 'pointer to const volatile char' to argument 3 discards 'const' [383] */ 37 sink_qualifiers(cvptr, cvptr, cvptr, cvptr); 38 } 39