When I compile the C program below, I get this warning:
‘noreturn’ function does return
. This is the function:
void hello(void){
int i;
i=1;
Most probably, the function is marked with __attribute__((noreturn))
. However, it does in fact return (when control reaches the end of irs body, since it doesn't enter an infinite loop, it doesn't call other "noreturn" functions, etc.)
I don't see what your point is in 1. marking the function as non-returning, 2. writing a function that does nothing - probably you could just eliminate both?