Resultate van die herbou van die Debian-pakketdatabasis met behulp van Clang 10

Sylvestre Ledru ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» die resultaat van die herbou van die Debian GNU/Linux-pakketargief deur die Clang 10-samesteller in plaas van GCC te gebruik. Van die 31014 1400 pakkette kon 4.5 1110 (3.6%) nie gebou word nie, maar deur 'n bykomende pleister op die Debian-gereedskapstel toe te pas, is die aantal ongeboude pakkette verminder tot 8 9 (4.9%). Ter vergelyking, wanneer in Clang XNUMX en XNUMX gebou is, het die aantal pakkette wat nie gebou kon word nie op XNUMX% gebly.

Die bou-eksperiment het gefokus op 250 probleme wat veroorsaak word deur ineenstortings as gevolg van Foute in Qmake, en 177 uitgawes, verwante met die generering van verskeie simbole in biblioteke. Deur 'n eenvoudige pleister by dpkg-gensymbols by te voeg om 'n simboolvergelykingsfout tydens koppeling as 'n waarskuwing te behandel, en deur die g++-konfigurasielΓͺers in qmake te vervang, kon ons foute regmaak om ongeveer 290 pakkette te bou.

Van die res probleme, wat lei tot 'n boufout in Clang, die mees algemene foute is te wyte aan die afwesigheid van sommige koplΓͺers, tipe casting, ontbrekende spasie tussen 'n letterlike en 'n identifiseerder, probleme met binding, versuim om 'n waarde van 'n nie-leemte funksie terug te gee , met behulp van 'n geordende vergelyking van 'n wyser met nul , gebrek aan definisies.

Bron: opennet.ru

Voeg 'n opmerking