Я знаю, что в компиляторах C функция main() вызывается функцией _start(), которая имеет код примерно так:
exit(main()); // return value of main is returned
Как работает _start(), когда main() не возвращает int, например, если его тип возврата void, float или что-то еще?