Вынікі перазборкі пакетнай базы Debian з дапамогай Clang 10

Сільвестр Ледру (Sylvestre Ledru) апублікаваў вынік перазборкі архіва пакетаў Debian GNU/Linux з выкарыстаннем кампілятара Clang 10 замест GCC. З 31014 пакетаў не атрымалася сабраць 1400 (4.5%), але ўжыўшы да інструментара Debian дадатковы патч лік несобранных пакетаў атрымалася паменшыць да 1110 (3.6%). Для параўнання пры зборцы ў Clang 8 і 9 колькасць пакетаў, якія не ўдалося сабраць, трымалася на ўзроўні 4.9%.

Пры правядзенні эксперыменту са зборкай увага была засяроджана на 250 праблемах, выкліканых збоем з-за памылкі у Qmake, і 177 праблемах, звязаных з генерацыяй розных сімвалаў у бібліятэках. Дадаўшы просты патч да dpkg-gensymbols, які апрацоўвае памылку параўнання знакаў пры злучэнні як папярэджанне, і замяніўшы ў qmake канфігурацыйныя файлы g++ атрымалася ўхіліць збоі пры зборцы прыкладна 290 пакетаў.

З астатніх праблем, якія прыводзяць да збою пры зборцы ў Clang, найболей часта сустракаюцца памылкі з-за адсутнасці некаторых загалоўкавых файлаў, прывядзенні тыпаў, адсутнасці прабелу паміж літаралам і ідэнтыфікатарам, праблемы са звязваннем, адсутнасць звароту значэння з не-void функцыі, выкарыстанне спарадкаванага параўнання паказальніка з нулём , адсутнасць азначэнняў.

Крыніца: opennet.ru

Дадаць каментар