17.4.5 control reaches end of non-void function