Keputusan membina semula pangkalan data pakej Debian menggunakan Clang 10

Sylvestre Ledru diterbitkan hasil daripada membina semula arkib pakej Debian GNU/Linux menggunakan pengkompil Clang 10 dan bukannya GCC. Daripada 31014 pakej, 1400 (4.5%) tidak dapat dibina, tetapi dengan menggunakan tampalan tambahan pada kit alat Debian, bilangan pakej yang belum dibina telah dikurangkan kepada 1110 (3.6%). Sebagai perbandingan, apabila membina di Clang 8 dan 9, bilangan pakej yang tidak dapat dibina kekal pada 4.9%.

Percubaan binaan memfokuskan pada 250 masalah yang disebabkan oleh ranap akibat Kesilapan dalam Qmake, dan 177 isu, berkaitan dengan penjanaan pelbagai simbol di perpustakaan. Dengan menambahkan tampung mudah pada dpkg-gensymbols untuk merawat ralat perbandingan simbol apabila memaut sebagai amaran, dan dengan menggantikan fail konfigurasi g++ dalam qmake, kami dapat membetulkan kegagalan untuk membina kira-kira 290 pakej.

Daripada yang lain masalah, yang membawa kepada kegagalan binaan dalam Clang, ralat yang paling biasa adalah disebabkan oleh ketiadaan beberapa fail pengepala, penghantaran jenis, kehilangan ruang antara literal dan pengecam, masalah dengan pengikatan, kegagalan untuk mengembalikan nilai daripada fungsi bukan batal , menggunakan perbandingan tertib penuding dengan null , kekurangan takrifan.

Sumber: opennet.ru

Tambah komen