Por que o compilador não me alertou sobre uma declaração if vazia?

Estou usando o Keil uVision v4.74 e habilitei a opção "Todos os avisos".

Eu escrevi o seguinteintencional código:

if(condition matched)
{
 //do something
}

Quando reconstruí meu projeto, recebi 0 erros, 0 avisos.

No entanto, quando euacidentalmente escrevi:

if(condition matched);
{
 //do something
}

Eu também tenho 0 erros, 0 avisos.

Era quase impossível para mim descobrir que um pequeno; seguindo a condição if foi a raiz do problema.

Por que o compilador não o tratou como um aviso e me informou?

questionAnswers(2)

yourAnswerToTheQuestion