Debian paketų duomenų bazės atkūrimo naudojant Clang 10 rezultatai

Sylvestre Ledru paskelbti Debian GNU/Linux paketų archyvo atkūrimo naudojant Clang 10 kompiliatorių, o ne GCC, rezultatas. Iš 31014 1400 paketų nepavyko sukurti 4.5 1110 (3.6 %), tačiau pritaikius papildomą pataisą Debian įrankių rinkiniui, nesukurtų paketų skaičius sumažėjo iki 8 9 (4.9 %). Palyginimui, statant Clang XNUMX ir XNUMX, paketų, kurių nepavyko pastatyti, skaičius išliko XNUMX%.

Konstravimo eksperimentas buvo sutelktas į 250 problemų, kurias sukėlė avarijos dėl Klaidos „Qmake“ ir 177 leidimai, susijęs su įvairių simbolių generavimu bibliotekose. Pridėję paprastą pataisą prie dpkg-gensymbols, kad simbolių palyginimo klaida susiejimo metu būtų traktuojama kaip įspėjimas, ir pakeitę g++ konfigūracijos failus programoje qmake, galėjome ištaisyti apie 290 paketų kūrimo klaidas.

Iš likusių problemų, dėl kurių „Clang“ kūrimo nepavyksta, dažniausiai pasitaikančios klaidos kyla dėl to, kad nėra kai kurių antraštės failų, tipo perdavimo, trūksta tarpo tarp pažodinio ir identifikatoriaus, problemų dėl susiejimo, nepavyksta grąžinti reikšmės iš netuščios funkcijos. , naudojant tvarkingą rodyklės palyginimą su null , apibrėžimų trūkumas.

Šaltinis: opennet.ru

Добавить комментарий