ผลลัพธ์ของการสร้างฐานข้อมูลแพ็คเกจ Debian ใหม่โดยใช้ Clang 10

ซิลเวสเตอร์ เลดรู ตีพิมพ์ ผลลัพธ์ของการสร้างไฟล์เก็บถาวรแพ็คเกจ Debian GNU/Linux ใหม่โดยใช้คอมไพเลอร์ Clang 10 แทน GCC จากแพ็คเกจ 31014 แพ็คเกจ ไม่สามารถสร้างได้ 1400 แพ็คเกจ (4.5%) แต่ด้วยการใช้แพตช์เพิ่มเติมกับชุดเครื่องมือ Debian ทำให้จำนวนแพ็คเกจที่ยังไม่ได้สร้างลดลงเหลือ 1110 แพ็คเกจ (3.6%) สำหรับการเปรียบเทียบ เมื่อสร้างใน Clang 8 และ 9 จำนวนพัสดุที่ไม่สามารถสร้างได้ยังคงอยู่ที่ 4.9%

การทดลองสร้างมุ่งเน้นไปที่ปัญหา 250 ปัญหาที่เกิดจากการขัดข้องเนื่องจาก ข้อผิดพลาด ใน Qmake และ 177 ฉบับ ที่เกี่ยวข้อง กับการกำเนิดสัญลักษณ์ต่างๆในห้องสมุด ด้วยการเพิ่มแพตช์ง่ายๆ ให้กับ dpkg-gen Symbols เพื่อรักษาข้อผิดพลาดในการเปรียบเทียบสัญลักษณ์เมื่อลิงก์เป็นคำเตือน และด้วยการแทนที่ไฟล์การกำหนดค่า g++ ใน qmake เราก็สามารถแก้ไขความล้มเหลวในการสร้างแพ็คเกจประมาณ 290 รายการได้

จากส่วนที่เหลือ ปัญหาซึ่งนำไปสู่ความล้มเหลวในการสร้างใน Clang ข้อผิดพลาดที่พบบ่อยที่สุดเกิดจากการไม่มีไฟล์ส่วนหัวบางไฟล์ การหล่อประเภท ช่องว่างระหว่างลิเทอรัลและตัวระบุหายไป ปัญหาเกี่ยวกับการโยง ความล้มเหลวในการส่งคืนค่าจากฟังก์ชันที่ไม่เป็นโมฆะ โดยใช้การเปรียบเทียบแบบเรียงลำดับของตัวชี้กับ null ขาดคำจำกัดความ

ที่มา: opennet.ru

เพิ่มความคิดเห็น