On Sat, 13 Nov 2021, 09:21 Haoxin Tu wrote: > > Hi all. > > I hope this is the right place to ask the question.
It's not IMHO. Questions like "is this a bug?" generally belong on the gcc-help list, or just straight to bugzilla. > > My confusion is that whether the called function "func_2()" inside the > "func_1" is defined or not. > > Can anyone help me to figure it out? I think it's undefined, due to C17 6.5.2.2 p6: If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. If the number of arguments does not equal the number of parameters, the behavior is undefined.