xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_240.c (revision 039b010016da489b3c993f4814255a8bc72125df)
1*039b0100Srillig /*	$NetBSD: msg_240.c,v 1.8 2023/08/02 18:51:25 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_240.c"
3a0a15c14Srillig 
4a0a15c14Srillig // Test for message: assignment of different structures (%s != %s) [240]
536dcebf9Srillig // This message is not used.
6a0a15c14Srillig 
7e6298b92Srillig /* lint1-extra-flags: -X 351 */
8e6298b92Srillig 
9*039b0100Srillig struct s_param {
1036dcebf9Srillig 	int member;
1136dcebf9Srillig };
1236dcebf9Srillig 
1336dcebf9Srillig struct s_local {
1436dcebf9Srillig 	int member;
1536dcebf9Srillig };
1636dcebf9Srillig 
1736dcebf9Srillig struct s_return {
1836dcebf9Srillig 	int member;
1936dcebf9Srillig };
2036dcebf9Srillig 
2136dcebf9Srillig union u_arg {
2236dcebf9Srillig 	int member;
2336dcebf9Srillig };
2436dcebf9Srillig 
25*039b0100Srillig /* expect+2: warning: parameter 's_param' unused in function 'return_other_struct' [231] */
2636dcebf9Srillig struct s_return
return_other_struct(struct s_param s_param)27*039b0100Srillig return_other_struct(struct s_param s_param)
2836dcebf9Srillig {
2936dcebf9Srillig 	/* XXX: No warning? */
30*039b0100Srillig 	return s_param;
3136dcebf9Srillig }
3236dcebf9Srillig 
33*039b0100Srillig /* expect+2: warning: parameter 's_param' unused in function 'assign_other_struct' [231] */
3436dcebf9Srillig void
assign_other_struct(struct s_param s_param)35*039b0100Srillig assign_other_struct(struct s_param s_param)
3636dcebf9Srillig {
3706b80932Srillig 	/* expect+1: warning: 's_local' unused in function 'assign_other_struct' [192] */
3836dcebf9Srillig 	static struct s_local s_local;
3936dcebf9Srillig 	/* XXX: No warning? */
40*039b0100Srillig 	s_local = s_param;
4136dcebf9Srillig }
4236dcebf9Srillig 
43ea332265Srillig /* expect+2: warning: parameter 'u_arg' unused in function 'return_other_union' [231] */
4436dcebf9Srillig struct s_return
return_other_union(union u_arg u_arg)4536dcebf9Srillig return_other_union(union u_arg u_arg)
4636dcebf9Srillig {
4736dcebf9Srillig 	/* XXX: No warning? */
4836dcebf9Srillig 	return u_arg;
4936dcebf9Srillig }
50