Clang 10 көмегімен Debian пакетінің дерекқорын қайта құру нәтижелері

Сильвестр Ледру жарияланған GCC орнына Clang 10 компиляторын пайдаланып Debian GNU/Linux бумасының мұрағатын қайта құру нәтижесі. 31014 1400 буманың 4.5-ін (1110%) құрастыру мүмкін болмады, бірақ Debian құралдар жинағына қосымша патч қолдану арқылы құрастырылмаған пакеттер саны 3.6 (8%) дейін қысқарды. Салыстыру үшін, Clang 9 және 4.9-да салу кезінде салынбаған пакеттер саны XNUMX% деңгейінде қалды.

Құрастыру эксперименті салдарынан апаттар туындаған 250 мәселеге бағытталған қателер Qmake-де және 177 басылымда, байланысты кітапханаларда әртүрлі таңбалардың генерациясымен. Ескерту ретінде байланыстыру кезінде таңбаны салыстыру қатесін өңдеу үшін dpkg-gensymbols-қа қарапайым патч қосу және qmake ішіндегі g++ конфигурация файлдарын ауыстыру арқылы біз 290-ға жуық буманы құрастыру кезіндегі сәтсіздіктерді түзете алдық.

Қалғандарынан проблемалар, Clang бағдарламасында құрастыру сәтсіздігіне әкеліп соқтырады, ең жиі кездесетін қателер кейбір тақырып файлдарының болмауына, типті трансляцияға, литерал мен идентификатор арасындағы бос орынның болмауына, байланыстыру проблемаларына, бос емес функциядан мәнді қайтармауға байланысты. , көрсеткішті null бар реттелген салыстыруды пайдалану, анықтамалардың болмауы.

Ақпарат көзі: opennet.ru

пікір қалдыру