Sylvestre Ledru Das Ergebnis des Neuaufbaus des Debian GNU/Linux-Paketchens mit dem Compiler Clang 10 anstelle von GCC. Von 31014 Paketen konnten 1400 (4,5 %) nicht erstellt werden. Durch die Anwendung eines zusätzlichen Patches auf das Debian-Toolkit konnte die Anzahl der nicht erstellten Pakete auf 1110 (3,6 %) reduziert werden. Zum Vergleich: Bei der Erstellung mit Clang 8 und 9 blieb die Anzahl der nicht erstellten Pakete bei 4,9 %.
Im Rahmen des Experiments zur Erstellung wurde der Fokus auf 250 Probleme gelegt, die durch Abstürze in Qmake verursacht wurden, und 177 Probleme, der Generierung verschiedener Symbole in Bibliotheken verbunden waren. Durch das Hinzufügen eines einfachen Patches zu dpkg-gensymbols, der den Fehler beim Vergleich von Symbolen beim Linken als Warnung behandelt, und den Austausch der Konfigurationsdateien von g++ in qmake konnten Abstürze bei der Erstellung von etwa 290 Paketen behoben werden.
Von den verbleibenden , die zu Fehlern beim Bauen in Clang führen, sind am häufigsten Fehler aufgrund fehlender Header-Dateien, Typumwandlungen, fehlenden Leerzeichen zwischen Literal und Bezeichner, Bindungsprobleme, das Fehlen eines Rückgabewerts aus einer nicht-void Funktion sowie die Verwendung eines geordneten Vergleichs eines Zeigers mit Null und fehlende Definitionen.
Quelle: opennet.ru
