add the noreturn attribute to functions that call exit