Sylvestre Ledru Das Ergebnis des Neubaus des Debian GNU/Linux-Paketarchivs mit dem Compiler Clang 10 anstelle von GCC. Von 31014 Paketen konnten 1400 (4,5%) nicht gebaut werden, aber durch die Anwendung eines zusätzlichen Patches auf die Debian-Toolchain konnte die Anzahl der nicht gebauten Pakete auf 1110 (3,6%) gesenkt werden. Zum Vergleich: Bei den Builds mit Clang 8 und 9 lag die Anzahl der nicht gebauten Pakete bei 4,9%.
Bei dem Experiment mit dem Build lag der Fokus auf 250 Problemen, die durch Abstürze verursacht wurden aufgrund von in Qmake, und 177 Problemen, der Generierung verschiedener Symbole in Bibliotheken zusammenhingen. Durch das Hinzufügen eines einfachen Patches zu dpkg-gensymbols, der den Fehler beim Vergleich von Symbolen beim Linken als Warnung behandelt, und durch den Austausch der g++-Konfigurationsdateien in qmake konnten Abstürze beim Bauen von etwa 290 Paketen behoben werden.
Von den übrigen , die zu einem Absturz beim Bauen mit Clang führten, traten am häufigsten Fehler wegen fehlender Header-Dateien, Typumwandlungen, fehlenden Leerzeichen zwischen Literalen und Identifikatoren, Probleme beim Linken, fehlende Rückgabewerte aus nicht-void-Funktionen, die Verwendung der geordneten Vergleich von Zeigern mit Null und fehlende Definitionen auf.
Quelle: opennet.ru
