If the implementation explicitly documents int main() (with no arguments) as a valid signature, then as of C99 everything's fine (§5.1.2.2.1 ¶1, "... or in some other implementation-defined manner.").
If the implementation doesn't document it, then strictly speaking the behavior is undefined (§4 ¶2), but the odds of it leading to behavior significantly different from int main(void) are, in my experience, pretty darned low.