Clang 10 yordamida Debian paketi ma'lumotlar bazasini qayta qurish natijalari

Silvestr Ledru chop GCC o'rniga Clang 10 kompilyatoridan foydalangan holda Debian GNU/Linux paket arxivini qayta qurish natijasi. 31014 1400 ta paketdan 4.5 tasini (1110%) qurish mumkin emas edi, biroq Debian asboblar to‘plamiga qo‘shimcha yamoqni qo‘llash orqali ochilmagan paketlar soni 3.6 taga (8%) kamaydi. Taqqoslash uchun, Clang 9 va 4.9-da qurishda qurish mumkin bo'lmagan paketlar soni XNUMX% da qoldi.

Qurilish tajribasi tufayli avariyalar natijasida yuzaga kelgan 250 ta muammoga e'tibor qaratildi xatolar Qmake-da va 177 ta son, bog'liq kutubxonalarda turli xil belgilarni yaratish bilan. Ogohlantirish sifatida ulanishda belgilarni taqqoslash xatosini davolash uchun dpkg-gensymbols-ga oddiy yamoq qo'shish va qmake-dagi g++ konfiguratsiya fayllarini almashtirish orqali biz 290 ga yaqin paketlarni yaratishdagi nosozliklarni bartaraf etishga muvaffaq bo'ldik.

Qolganlaridan muammolar, Clang-da qurilish xatosiga olib keladi, eng ko'p uchraydigan xatolar ba'zi sarlavhali fayllarning yo'qligi, turdagi translatsiya, literal va identifikator o'rtasidagi bo'sh joy etishmasligi, bog'lash bilan bog'liq muammolar, bekor bo'lmagan funksiyadan qiymatni qaytarmaslik bilan bog'liq. , null bilan ko'rsatgichni tartibli taqqoslashdan foydalanish, ta'riflar yo'qligi.

Manba: opennet.ru

a Izoh qo'shish