Warum hat der Compiler mich nicht vor einer leeren if-Anweisung gewarnt?

Ich verwende Keil uVision v4.74 und habe die Option "Alle Warnungen" aktiviert.

Ich habe folgendes geschrieben absichtlich code:

if(condition matched)
{
 //do something
}

Wenn ich mein Projekt neu erstellt habe, habe ich 0 Fehler und 0 Warnungen erhalten.

Jedoch, wenn ichversehentlic schrieb

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

Ich habe auch 0 Fehler, 0 Warnungen.

Es war fast unmöglich für mich herauszufinden, dass ein kleines; Befolgung der if-Bedingung war die Wurzel des Problems.

Warum hat der Compiler das nicht als Warnung behandelt und mich informiert?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage