Sylvestre Ledru výsledek přebudování archivů balíčků Debian GNU/Linux s použitím kompilátoru Clang 10 místo GCC. Z 31014 balíčků se nepodařilo sestavit 1400 (4,5 %), ale použitím dodatečného patchu na nástroje Debian se počet nesestavených balíčků podařilo snížit na 1110 (3,6 %). Pro srovnání při sestavení v Clang 8 a 9 zůstával počet balíčků, které se nepodařilo sestavit, na úrovni 4,9 %.
Při provádění experimentu se sestavením byla pozornost zaměřena na 250 problémů způsobených pády v Qmake a 177 problémy, generováním různých symbolů v knihovnách. Přidáním jednoduchého patchu do dpkg-gensymbols, který zpracovává chybu porovnávání symbolů při linkování jako varování, a nahrazením v qmake konfiguračních souborů g++ se podařilo odstranit pády při sestavení přibližně 290 balíčků.
Z ostatních , které vedly k pádům při sestavení v Clang, se nejčastěji vyskytují chyby způsobené absencí některých hlavičkových souborů, převody typů, absencí mezery mezi literálem a identifikátorem, problémy s linkováním, absencí návratové hodnoty z ne-void funkce, použití uspořádaného porovnání ukazatele s nulou, absencí definic.
Zdroj: opennet.ru
