Es ist für Compiler üblich, eine switch to warn when code is unreachable bereitzustellen. Ich habe auch Makros für einige Bibliotheken gesehen, die assertions for unreachable code bereitstellen.Wie kann ich GCC anzeigen, dass eine Linie nicht erreichbar sein sollte?
Gibt es einen Hinweis, z. B. durch ein Pragma, oder eingebaut, dass ich GCC (oder andere Compiler für diese Angelegenheit) übergeben kann, wird Warnung oder Fehler während der Kompilierung, wenn es festgestellt wird, dass eine Zeile erwartet wird unerreichbar kann tatsächlich erreicht werden?
Hier ein Beispiel:
if (!conf->devpath) {
conf->devpath = arg;
return 0;
} // pass other opts into fuse
else {
return 1;
}
UNREACHABLE_LINE();
Der Wert dies ist bei der Erkennung, nach Änderungen in Bedingungen über der erwartete unerreichbare Linie, dass die Linie in der Tat erreichbar ist.
Ich möchte anmerken, dass die Option '-Wunreachable-code' in späteren Versionen von gcc entfernt wurde (weil sie unter verschiedenen Optimierungsoptionen stark unberechenbar war) – Hasturkun