According to this answer using function main() is illegal (§3.6.1.3) and a function is used if its name appears in a potentially evaluated expression (§3.2
Since main is not "used" (you're not evaluating it) then it should be legal according the link you supplied.
main