C - gcc: nenhum aviso do compilador com declaração de função / implementação diferente
Eu tento descobrir por que meu compilador c não me dá nenhum aviso / erro ao seguir o código (simplificado).
A declaração da função não possui parâmetros, enquanto a implementação da função possui parâmetros:
some.h:
void foo();
Algum c:
static uint32_t count = 0;
void foo(uint32_t num) {
count += num;
print("Count: %u");
}
main.c:
foo(100);
foo();
Resultado:
Count: 100
Count: 100
Compilador para construção de destino:
gcc-arm-none-eabi-4_9-2015q1-20150306-win32
Vinculador para criação de destino:
gcc-arm-none-eabi-4_9-2015q1-20150306-win32
Sinalizadores do compilador:
-Wall -Werror -DuECC_CURVE=uECC_secp256r1 -DMEMORY_CHECK -DDEBUG -Os -g3 -DBACKTRACE