Clang does not emit "control reaches end of non-void function [-Wreturn-type]" warning for 'main' having no return statement in C89 mode (-std=c89, gnu89). Clang adds implicit-return-zero in C89 mode. But, since the C89 standard does not require it, wouldn't it be better to emit warning?