msg_153.c revision 1.9
11.9Srillig/*	$NetBSD: msg_153.c,v 1.9 2024/11/23 16:48:35 rillig Exp $	*/
21.1Srillig# 3 "msg_153.c"
31.1Srillig
41.4Srillig// Test for message: converting '%s' to incompatible '%s' for argument %d [153]
51.1Srillig
61.7Srillig/* lint1-extra-flags: -X 351 */
71.7Srillig
81.3Srillig
91.3Srilligtypedef double (*unary_operator)(double);
101.3Srillig
111.4Srilligvoid sink_function_pointer(unary_operator);
121.4Srilligvoid sink_int_pointer(int *);
131.8Srilligvoid sink_qualifiers(char *, const char *, volatile char *, const volatile char *);
141.3Srillig
151.3Srilligvoid
161.4Srilligto_function_pointer(int *x)
171.3Srillig{
181.6Srillig	/* expect+1: warning: converting 'pointer to int' to incompatible 'pointer to function(double) returning double' for argument 1 [153] */
191.6Srillig	sink_function_pointer(x);
201.4Srillig}
211.4Srillig
221.4Srilligvoid
231.4Srilligto_int_pointer(unary_operator op)
241.4Srillig{
251.6Srillig	/* expect+1: warning: converting 'pointer to function(double) returning double' to incompatible 'pointer to int' for argument 1 [153] */
261.6Srillig	sink_int_pointer(op);
271.3Srillig}
281.8Srillig
291.8Srilligvoid
301.8Srilligqualifiers(char *ptr, const volatile char *cvptr)
311.8Srillig{
321.8Srillig	sink_qualifiers(ptr, ptr, ptr, ptr);
331.8Srillig
341.9Srillig	/* expect+3: warning: passing 'pointer to const volatile char' to argument 1 discards 'const volatile' [383] */
351.9Srillig	/* expect+2: warning: passing 'pointer to const volatile char' to argument 2 discards 'volatile' [383] */
361.9Srillig	/* expect+1: warning: passing 'pointer to const volatile char' to argument 3 discards 'const' [383] */
371.8Srillig	sink_qualifiers(cvptr, cvptr, cvptr, cvptr);
381.8Srillig}
39