msg_215.c revision 1.12
1/* $NetBSD: msg_215.c,v 1.12 2022/06/22 19:23:18 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 12struct str { 13 int dummy; 14}; 15 16/* ARGSUSED */ 17void 18test(struct str str, const double *p_double) 19{ 20 /* expect+1: error: function 'name' implicitly declared to return int [215] */ 21 name(); 22 23 /* expect+2: error: 'parenthesized' undefined [99] */ 24 /* expect+1: error: cannot call 'int', must be a function [149] */ 25 (parenthesized)(); 26 27 /* expect+2: error: type 'struct str' does not have member 'member' [101] */ 28 /* expect+1: error: cannot call 'int', must be a function [149] */ 29 str.member(); 30 31 /* https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html */ 32 __builtin_whatever(123, "string"); 33 __atomic_whatever(123, "string"); 34 /* obsolete but still in use, as of 2021 */ 35 __sync_whatever(123, "string"); 36 37 /* https://software.intel.com/sites/landingpage/IntrinsicsGuide/ */ 38 _mm_load_sd(p_double); 39} 40