Sylvestre Ledru resultado de la reconstrucción del archivo de paquetes Debian GNU/Linux utilizando el compilador Clang 10 en lugar de GCC. De 31014 paquetes, no se pudieron compilar 1400 (4.5%), pero al aplicar un parche adicional a las herramientas de Debian, el número de paquetes sin compilar se redujo a 1110 (3.6%). Para comparar, al compilar con Clang 8 y 9, el número de paquetes que no se pudieron compilar se mantuvo en un 4.9%.
Durante el experimento de compilación, se centró la atención en 250 problemas causados por fallos en Qmake, y 177 problemas con la generación de varios símbolos en las bibliotecas. Al agregar un parche simple a dpkg-gensymbols, que trata el error de comparación de símbolos al vincular como una advertencia, y reemplazar en los archivos de configuración de qmake g++, se logró eliminar fallos en la compilación de aproximadamente 290 paquetes.
De los restantes , que causaron fallos en la compilación en Clang, los errores más comunes se deben a la falta de ciertos archivos de cabecera, conversiones de tipos, falta de espacio entre un literal y un identificador, problemas de vinculación, falta de un valor de retorno de una función que no es void, y el uso de comparaciones ordenadas de punteros con cero, así como la falta de definiciones.
Fuente: opennet.ru
