Sylvestre Ledru the result of rebuilding the Debian GNU/Linux package archive using the Clang 10 compiler instead of GCC. Out of 31,014 packages, 1,400 (4.5%) could not be built, but by applying an additional patch to the Debian toolchain, the number of unbuilt packages was reduced to 1,110 (3.6%). In comparison, when building with Clang 8 and 9, the percentage of unbuildable packages remained around 4.9%.
During the experiment with the build, the focus was on 250 issues caused by failures in Qmake, and 177 issues to the generation of various symbols in libraries. By adding a simple patch to dpkg-gensymbols that treats symbol comparison errors during linking as warnings, and by replacing g++ configuration files in qmake, build failures for approximately 290 packages were resolved.
Of the remaining , the most common errors causing build failures in Clang are due to missing header files, type casting issues, missing space between literals and identifiers, linking problems, lack of return values from non-void functions, using ordered comparisons of pointers with null, and missing definitions.
Source: opennet.ru
