Rezultatele recompilării bazei de pachete Debian folosind Clang 10

Sylvestre Ledru a publicat rezultatul recompilării arhivei de pachete Debian GNU/Linux cu utilizarea compilatorului Clang 10 în loc de GCC. Din 31014 de pachete, 1400 (4,5%) nu au putut fi compilate, dar aplicând un patch suplimentar la uneltele Debian, numărul pachetelor necompilate a fost redus la 1110 (3,6%). Spre comparație, la compilarea cu Clang 8 și 9, numărul pachetelor necompilate s-a menținut la 4,9%.

În cadrul experimentului de compilare, atenția a fost concentrată pe 250 de probleme provocate de erori în unei erori Qmake, și 177 de probleme, legat de generarea diverselor simboluri în biblioteci. Adăugând un patch simplu la dpkg-gensymbols, care tratează eroarea de comparare a simbolurilor la legare ca un avertisment, și înlocuind în fișierele de configurare qmake g++, s-au eliminat erorile de compilare pentru aproximativ 290 de pachete.

Din restul problemelor, care provoacă erori în compilarea cu Clang, cele mai întâlnite greșeli sunt cauzate de lipsa unor fișiere header, conversii de tip, lipsa unui spațiu între literal și identificator, probleme la legare, absența unei valori de returnare dintr-o funcție non-void, utilizarea comparațiilor ordonate cu zero, și lipsa definițiilor.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster