Resultados de reconstruir la base de datos del paquete Debian usando Clang 10

Sylvestre Ledrú publicado el resultado de reconstruir el archivo del paquete Debian GNU/Linux usando el compilador Clang 10 en lugar de GCC. De los 31014 paquetes, 1400 (4.5%) no se pudieron compilar, pero al aplicar un parche adicional al kit de herramientas de Debian, el número de paquetes no compilados se redujo a 1110 (3.6%). A modo de comparación, al construir en Clang 8 y 9, la cantidad de paquetes que no se pudieron construir se mantuvo en el 4.9%.

El experimento de construcción se centró en 250 problemas causados ​​por fallas debido a Errores en Qmake, y 177 números, conexo con la generación de diversos símbolos en las bibliotecas. Al agregar un parche simple a dpkg-gensymbols para tratar un error de comparación de símbolos al vincular como una advertencia, y al reemplazar los archivos de configuración de g++ en qmake, pudimos corregir fallas al compilar alrededor de 290 paquetes.

Del resto проблем, lo que lleva a una falla de compilación en Clang, los errores más comunes se deben a la ausencia de algunos archivos de encabezado, conversión de tipos, falta de espacio entre un literal y un identificador, problemas con el enlace, falla al devolver un valor de una función no nula , utilizando una comparación ordenada de un puntero con nulo, falta de definiciones.

Fuente: opennet.ru

Añadir un comentario