xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_215.c (revision e6298b924c5ba98f3a22919b56dab04a87cdbb1c)
1*e6298b92Srillig /*	$NetBSD: msg_215.c,v 1.13 2023/07/07 19:45:22 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_215.c"
3a0a15c14Srillig 
446698ec5Srillig // Test for message: function '%s' implicitly declared to return int [215]
5a0a15c14Srillig 
61944cae4Srillig /*
71944cae4Srillig  * In traditional C and C90, it was possible to implicitly declare a function
81944cae4Srillig  * by just calling it, without defining a prototype first.  Such a function
91944cae4Srillig  * would then be defined as taking unspecified parameters and returning int.
101944cae4Srillig  */
111944cae4Srillig 
12*e6298b92Srillig /* lint1-extra-flags: -X 351 */
13*e6298b92Srillig 
141944cae4Srillig struct str {
151944cae4Srillig 	int dummy;
161944cae4Srillig };
171944cae4Srillig 
181944cae4Srillig /* ARGSUSED */
1961e921f9Srillig void
test(struct str str,const double * p_double)20693a4e07Srillig test(struct str str, const double *p_double)
2161e921f9Srillig {
22f9d22df1Srillig 	/* expect+1: error: function 'name' implicitly declared to return int [215] */
231944cae4Srillig 	name();
241944cae4Srillig 
2571e283daSrillig 	/* expect+2: error: 'parenthesized' undefined [99] */
2640a9b8fdSrillig 	/* expect+1: error: cannot call 'int', must be a function [149] */
2771e283daSrillig 	(parenthesized)();
2871e283daSrillig 
2919c35874Srillig 	/* expect+2: error: type 'struct str' does not have member 'member' [101] */
3040a9b8fdSrillig 	/* expect+1: error: cannot call 'int', must be a function [149] */
311944cae4Srillig 	str.member();
32f63ca675Srillig 
33f63ca675Srillig 	/* https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html */
34f63ca675Srillig 	__builtin_whatever(123, "string");
35f63ca675Srillig 	__atomic_whatever(123, "string");
36693a4e07Srillig 	/* obsolete but still in use, as of 2021 */
37693a4e07Srillig 	__sync_whatever(123, "string");
38693a4e07Srillig 
39693a4e07Srillig 	/* https://software.intel.com/sites/landingpage/IntrinsicsGuide/ */
40693a4e07Srillig 	_mm_load_sd(p_double);
4161e921f9Srillig }
42