Int implícito y declaración implícita de funciones con el compilador gcc

Leí en el estándar c99:

-remove implicit function declaration,

-remove implicit int.

Pero cuando intento compilar este código con el compilador gcc en modo c99 usando -pedantic

main(void){
    f(3);
    return 0;
}


int f(int a){
    ....
}

Espero 2 errores, pero acabo de recibir 2 advertencias:

-warning: return type defaults to ‘int’

-warning: implicit declaration of function ‘f’.

¿No deberían ser errores en c99?

http://gcc.gnu.org/c99status.html En ambas situaciones hay escrito "hecho".

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta