msg_215.c revision 1.13
1/* $NetBSD: msg_215.c,v 1.13 2023/07/07 19:45:22 rillig Exp $ */ 2# 3 "msg_215.c" 3 4// Test for message: function '%s' implicitly declared to return int [215] 5 6/* 7 * In traditional C and C90, it was possible to implicitly declare a function 8 * by just calling it, without defining a prototype first. Such a function 9 * would then be defined as taking unspecified parameters and returning int. 10 */ 11 12/* lint1-extra-flags: -X 351 */ 13 14struct str { 15 int dummy; 16}; 17 18/* ARGSUSED */ 19void 20test(struct str str, const double *p_double) 21{ 22 /* expect+1: error: function 'name' implicitly declared to return int [215] */ 23 name(); 24 25 /* expect+2: error: 'parenthesized' undefined [99] */ 26 /* expect+1: error: cannot call 'int', must be a function [149] */ 27 (parenthesized)(); 28 29 /* expect+2: error: type 'struct str' does not have member 'member' [101] */ 30 /* expect+1: error: cannot call 'int', must be a function [149] */ 31 str.member(); 32 33 /* https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html */ 34 __builtin_whatever(123, "string"); 35 __atomic_whatever(123, "string"); 36 /* obsolete but still in use, as of 2021 */ 37 __sync_whatever(123, "string"); 38 39 /* https://software.intel.com/sites/landingpage/IntrinsicsGuide/ */ 40 _mm_load_sd(p_double); 41} 42