Sylvestre Ledru O resultado da reconstrução do repositório de pacotes Debian GNU/Linux usando o compilador Clang 10 em vez do GCC. Dos 31014 pacotes, 1400 (4.5%) não foram compilados, mas a aplicação de um patch adicional à cadeia de ferramentas Debian reduziu o número de pacotes com falha para 1110 (3.6%). Para comparação, ao compilar com Clang 8 e 9, o número de pacotes com falha permaneceu em 4.9%.
O experimento de montagem focou em 250 problemas causados por falhas devido a em Qmake, e 177 problemas, Com a geração de vários símbolos em bibliotecas, ao adicionar um patch simples ao dpkg-gensymbols que trata erros de comparação de símbolos durante a vinculação como avisos e substituir os arquivos de configuração do g++ no qmake, conseguimos eliminar falhas de compilação para aproximadamente 290 pacotes.
Dos demais Os erros mais comuns que causam falhas de compilação no Clang são: arquivos de cabeçalho ausentes, conversões de tipo, ausência de espaço entre um literal e um identificador, problemas de vinculação, ausência de valor de retorno de uma função que não seja void, uso de comparação ordenada de um ponteiro para nulo e ausência de definições.
Fonte: opennet.ru
