Wyniki przetwarzania pakietowej bazy Debian przy użyciu Clang 10

Sylvestre Ledru opublikował wynik ponownej kompilacji archiwum pakietów Debian GNU/Linux przy użyciu kompilatora Clang 10 zamiast GCC. Spośród 31014 pakietów nie udało się skompilować 1400 (4,5%), jednak po zastosowaniu dodatkowej łatki do narzędzi Debian liczba nieskompilowanych pakietów zmniejszyła się do 1110 (3,6%). Dla porównania przy kompilacji w Clang 8 i 9 liczba pakietów, które nie udało się skompilować, utrzymywała się na poziomie 4,9%.

Podczas przeprowadzania eksperymentu z kompilacją skupiono się na 250 problemach wywołanych błędami w błędu Qmake oraz 177 problemach związanych z generowaniem różnych symboli w bibliotekach. Dodając prostą łatkę do dpkg-gensymbols, która traktuje błąd porównania symboli podczas linkowania jako ostrzeżenie, oraz zmieniając pliki konfiguracyjne g++ w qmake, udało się wyeliminować błędy podczas kompilacji około 290 pakietów.

Spośród pozostałych problemach, prowadzących do błędów podczas kompilacji w Clang, najczęściej pojawiają się błędy spowodowane brakiem pewnych plików nagłówkowych, rzutowaniem typów, brakiem spacji między literałem a identyfikatorem, problemy z linkowaniem, brakiem zwrotu wartości z funkcji nie-void, używaniem porównania wskaźników z zerem, brakiem definicji.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster