Depende da linguagem, o gcc verificou se a coisa estava definida (valia qualquer coisa: função, variável...), se estivesse no formato de função (faltou parêntesis) ele também verificaria a quantidade de argumentos.
Não deu erro na execução porque em C a tipagem é fraca, ele avaliou max do jeito que deu e mostrou uma representação decimal disso.