msg_153.c revision 1.8
1/*	$NetBSD: msg_153.c,v 1.8 2024/11/23 00:01:48 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
9typedef double (*unary_operator)(double);
10
11void sink_function_pointer(unary_operator);
12void sink_int_pointer(int *);
13void sink_qualifiers(char *, const char *, volatile char *, const volatile char *);
14
15void
16to_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
22void
23to_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
29void
30qualifiers(char *ptr, const volatile char *cvptr)
31{
32	sink_qualifiers(ptr, ptr, ptr, ptr);
33
34	/* expect+3: warning: converting 'pointer to const volatile char' to incompatible 'pointer to char' for argument 1 [153] */
35	/* expect+2: warning: converting 'pointer to const volatile char' to incompatible 'pointer to const char' for argument 2 [153] */
36	/* expect+1: warning: converting 'pointer to const volatile char' to incompatible 'pointer to volatile char' for argument 3 [153] */
37	sink_qualifiers(cvptr, cvptr, cvptr, cvptr);
38}
39