Resultats de la reconstrucció de la base de dades de paquets Debian mitjançant Clang 10

Sylvestre Ledru publicat el resultat de reconstruir l'arxiu de paquets Debian GNU/Linux utilitzant el compilador Clang 10 en comptes de GCC. Dels 31014 paquets, 1400 (4.5%) no es van poder construir, però aplicant un pedaç addicional al conjunt d'eines de Debian, el nombre de paquets no construïts es va reduir a 1110 (3.6%). Per comparació, quan es construïen a Clang 8 i 9, el nombre de paquets que no es van poder construir es va mantenir en el 4.9%.

L'experiment de construcció es va centrar en 250 problemes causats per accidents deguts a errors a Qmake i 177 números, relacionats amb la generació de diversos símbols a les biblioteques. Afegint un pedaç senzill a dpkg-gensymbols per tractar un error de comparació de símbols quan s'enllaçava com un avís, i substituint els fitxers de configuració g++ a qmake, vam poder corregir errors en la creació d'uns 290 paquets.

De la resta problemes, que condueix a un error de compilació a Clang, els errors més comuns es deuen a l'absència d'alguns fitxers de capçalera, la conversió de tipus, la falta d'espai entre un literal i un identificador, problemes amb l'enllaç, la manca de retorn d'un valor d'una funció que no és nul·la. , utilitzant una comparació ordenada d'un punter amb null , manca de definicions.

Font: opennet.ru

Afegeix comentari