xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_305.c (revision cc3c7d5b6a6d896c4703f47bb421c40c9600a9b0)
1*cc3c7d5bSrillig /*	$NetBSD: msg_305.c,v 1.6 2024/01/07 21:19:42 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_305.c"
3a0a15c14Srillig 
4dcb32fd7Srillig /* Test for message: conversion of %s to %s requires a cast, op %s [305] */
5a0a15c14Srillig 
6b2baa501Srillig /* lint1-flags: -sw -X 351 */
71678a18aSrillig 
8*cc3c7d5bSrillig void *void_pointer;
9*cc3c7d5bSrillig void (*void_function)(void);
10*cc3c7d5bSrillig int (*int_function)(int);
111678a18aSrillig 
121678a18aSrillig void
example(int cond)13*cc3c7d5bSrillig example(int cond)
141678a18aSrillig {
15dcb32fd7Srillig 	/* expect+1: warning: conversion of function pointer to 'void *' requires a cast, op = [305] */
16*cc3c7d5bSrillig 	void_pointer = void_function;
171678a18aSrillig 
18dcb32fd7Srillig 	/* expect+1: warning: conversion of 'void *' to function pointer requires a cast, op = [305] */
19*cc3c7d5bSrillig 	void_function = void_pointer;
20*cc3c7d5bSrillig 
21*cc3c7d5bSrillig 	/* expect+1: warning: conversion of function pointer to 'void *' requires a cast, op = [305] */
22*cc3c7d5bSrillig 	void_pointer = cond ? void_function : int_function;
23*cc3c7d5bSrillig 	/* expect+1: warning: conversion of function pointer to 'void *' requires a cast, op : [305] */
24*cc3c7d5bSrillig 	void_pointer = cond ? void_pointer : int_function;
25*cc3c7d5bSrillig 	/* expect+1: warning: conversion of function pointer to 'void *' requires a cast, op : [305] */
26*cc3c7d5bSrillig 	void_pointer = cond ? void_function : void_pointer;
271678a18aSrillig }
28