A declaração de função implícita é legal em C89?
Considere este programa C:
int main()
{
puts("Hello world!");
return 0;
}
Isso compila e corre bem e, tanto quanto eu entendo, é legal C89. No entanto, não tenho 100% de certeza sobre isso. Compilando no modo C99 com clang me informa queimplicit declaration of function 'puts' is invalid in C99
(o que me faz pensar que o padrão C deve ter mudado em C99 para tornar a declaração de função implícita ilegal, que é o que estou tentando confirmar).
A declaração de função implícita é legal em C89? (mesmo que seja uma má ideia fazê-lo (a menos que você esteja em um desafio de código C ofuscado))