رنين
كلانج 13.0.1 | |
| المؤلف(ون) الأصلي(ون) | كريس لاتنر |
|---|---|
| المطور(ون) | مجموعة مطوري LLVM |
| الإصدار الأولي | 26 سبتمبر 2007 [1] |
| إصدار مستقر | 19.1.7 [2]
/ 14 يناير 2025 |
| مستودع |
|
| مكتوب في | سي++ |
| نظام التشغيل | شبيه يونكس |
| منصة | AArch64 ، ARMv7 ، IA-32 ، x86-64 ، ppc64le [3] |
| يكتب | واجهة المترجم الأمامية |
| رخصة | Apache 2.0 مع استثناءات LLVM [4] [5] |
| موقع إلكتروني | clang.llvm.org |
Clang ( / ˈklæŋ / ) [6] هي واجهة أمامية للمترجم للغات البرمجة C و C++ و Objective-C و Objective-C++ وأطر العمل البرمجية OpenMP و [7] OpenCL و RenderScript و CUDA و SYCL و HIP . [ 8] تعمل كبديل مباشر لمجموعة GNU Compiler Collection (GCC)، وتدعم معظم علامات التجميع وملحقات اللغة غير الرسمية. [9] [10] تتضمن محللًا ثابتًا والعديد من أدوات تحليل التعليمات البرمجية. [11]
يعمل Clang جنبًا إلى جنب مع برنامج التجميع الخلفي LLVM وكان مشروعًا فرعيًا لـ LLVM 2.6 والإصدارات الأحدث. [12] كما هو الحال مع LLVM، فهو برنامج مجاني ومفتوح المصدر بموجب ترخيص برنامج Apache 2.0 . [4] [5] ومن بين المساهمين فيه Apple و Microsoft و Google و ARM و Sony و Intel و AMD .
Clang 17، أحدث إصدار رئيسي من Clang اعتبارًا من أكتوبر 2023، يدعم بشكل كامل جميع معايير C++ المنشورة حتى C++17 ، وينفذ معظم ميزات C++20 ، ويدعم مبدئيًا معيار C++23 . [13] منذ الإصدار v16.0.0، يقوم Clang بتجميع C++ باستخدام لهجة GNU++17 افتراضيًا، والتي تتضمن ميزات من معيار C++17 وملحقات GNU المطابقة. [14]
خلفية
في عام 2005، استخدمت شركة Apple Inc. على نطاق واسع LLVM في العديد من المنتجات التجارية، [15] بما في ذلك iOS SDK و Xcode 3.1. كان مُجمِّع أكواد OpenGL لنظام التشغيل OS X الذي يحول مكالمات OpenGL إلى مكالمات أكثر جوهرية لوحدات معالجة الرسومات (GPU) التي لا تدعم ميزات معينة، أحد الاستخدامات الأولى لـ LLVM. مكّن هذا شركة Apple من دعم OpenGL على أجهزة الكمبيوتر التي تستخدم شرائح Intel GMA ، مما أدى إلى زيادة الأداء على هذه الأجهزة. [16]
كان مشروع LLVM يهدف في الأصل إلى استخدام الواجهة الأمامية لـ GCC . ومع ذلك، فإن كود مصدر GCC كبير ومعقد إلى حد ما؛ كما قال أحد مطوري GCC منذ فترة طويلة في إشارة إلى LLVM، "إن محاولة جعل فرس النهر يرقص ليس أمرًا ممتعًا حقًا". [17] بالإضافة إلى ذلك، يستخدم برنامج Apple لغة Objective-C ، وهي ذات أولوية منخفضة لمطوري GCC. وبالتالي، لا يتكامل GCC بسلاسة مع بيئة التطوير المتكاملة (IDE) الخاصة بـ Apple. [18] أخيرًا، تتطلب اتفاقية ترخيص GCC، رخصة جنو العمومية العامة (GPL) الإصدار 3 ، من المطورين الذين يوزعون ملحقات أو إصدارات معدلة من GCC إتاحة كود المصدر الخاص بهم ، لكن ترخيص البرامج المتساهل لـ LLVM لا يتطلب ذلك. [4] [5]
ولهذه الأسباب، طورت شركة أبل Clang، وهي واجهة أمامية جديدة للمترجم تدعم لغات C وObjective-C وC++. [18] وفي يوليو 2007، حصل المشروع على الموافقة ليصبح مفتوح المصدر. [19]
تصميم
يعمل Clang جنبًا إلى جنب مع LLVM. [20] يوفر الجمع بين Clang وLLVM معظم سلسلة الأدوات لاستبدال مكدس GCC . أحد الأهداف الرئيسية لـ Clang هو توفير بنية قائمة على المكتبة، [21] حتى يتمكن المترجم من التفاعل مع أدوات أخرى تتفاعل مع الكود المصدر، مثل بيئات التطوير المتكاملة (IDE). على النقيض من ذلك، يعمل GCC في سير عمل التجميع والربط والتصحيح ؛ ليس من السهل دائمًا دمجه مع أدوات أخرى. على سبيل المثال، يستخدم GCC خطوة تسمى الطي وهي مفتاح لعملية التجميع الشاملة، والتي لها التأثير الجانبي المتمثل في ترجمة شجرة الكود إلى نموذج يبدو مختلفًا عن الكود المصدر الأصلي. إذا تم العثور على خطأ أثناء أو بعد خطوة الطي، فقد يكون من الصعب ترجمته مرة أخرى إلى موقع واحد في المصدر الأصلي. إلى جانب ذلك، يجب على البائعين الذين يستخدمون مكدس GCC داخل بيئات التطوير المتكاملة استخدام أدوات منفصلة لفهرسة الكود، لتوفير ميزات مثل تمييز بناء الجملة وإكمال الكود الذكي .
يحتفظ Clang بمزيد من المعلومات أثناء عملية التجميع مقارنة بـ GCC، ويحافظ على الشكل العام للكود الأصلي، مما يجعل من الأسهل ربط الأخطاء بالمصدر الأصلي. تقارير أخطاء Clang أكثر تفصيلاً وتحديدًا وقابلية للقراءة بواسطة الآلة، لذلك يمكن لـ IDEs فهرسة مخرجات المترجم. يمكن أن يوفر التصميم المعياري للمترجم فهرسة الكود المصدر، والتحقق من بناء الجملة، والميزات الأخرى المرتبطة عادةً بأنظمة تطوير التطبيقات السريعة . شجرة التحليل أكثر ملاءمة أيضًا لدعم إعادة هيكلة الكود الآلي ، حيث تمثل الكود المصدر الأصلي بشكل مباشر.
يقوم Clang بتجميع لغات تشبه لغة C فقط، مثل C وC++ وObjective-C وObjective-C++. في كثير من الحالات، يمكن لـ Clang استبدال GCC حسب الحاجة، دون أي تأثيرات أخرى على سلسلة الأدوات ككل. [ بحاجة لمصدر ] وهو يدعم معظم خيارات GCC المستخدمة بشكل شائع. مشروع Fortran، Flang كان قيد التنفيذ في عام 2022. ومع ذلك، بالنسبة للغات أخرى، مثل Ada ، يظل LLVM معتمدًا على GCC أو واجهة أمامية أخرى للمترجم.
فلانج - فورتران
يضيف مشروع Flang من Nvidia و The Portland Group دعمًا للغة Fortran . [22] Flang هي واجهة Fortran الخاصة بـ LLVM. غالبًا ما يُشار إليها باسم "LLVM Flang" لتمييز نفسها عن "Classic Flang" - وهما مُجمِّعان منفصلان ومستقلان للغة Fortran. "LLVM Flang" قيد التطوير النشط. كانت إصدارات التطوير من Flang قيد التقدم اعتبارًا من أكتوبر 2023 [تحديث]ويمكن تنزيلها من مشروع LLVM. [23]
الأداء والتوافق مع GCC

Clang متوافق مع GCC. [10] تشترك واجهة سطر الأوامر الخاصة به في العديد من علامات وخيارات GCC . ينفذ Clang العديد من ملحقات لغة GNU وخصائص المترجم ، بعضها مخصص للتوافق فقط. على سبيل المثال، على الرغم من أن Clang ينفذ خصائص ذرية تتوافق تمامًا مع خصائص C11 الذرية ، فإنه ينفذ أيضًا خصائص GCC __sync_*للتوافق مع GCC ومكتبة C++ القياسية (libstdc++). يحافظ Clang أيضًا على توافق واجهة التطبيق الثنائية (ABI) مع كود الكائن الناتج عن GCC . في الممارسة العملية، يعد Clang بديلاً مباشرًا لـ GCC. [24]
يهدف مطورو Clang إلى تقليل بصمة الذاكرة وزيادة سرعة التجميع مقارنة بالمترجمين الآخرين، مثل GCC. في أكتوبر 2007، أفادوا أن Clang قام بتجميع مكتبات Carbon بسرعة أكبر من ضعف سرعة GCC، بينما استخدم حوالي سدس ذاكرة GCC ومساحة القرص. [25] بحلول عام 2011، بدا أن Clang يحتفظ بهذه الميزة في أداء المترجم. [26] [27] اعتبارًا من منتصف عام 2014، لا يزال Clang يجمع بشكل أسرع من GCC في معيار وقت التجميع وأداء البرنامج المختلط. [28] ومع ذلك، بحلول عام 2019، أصبح Clang أبطأ بشكل ملحوظ في تجميع نواة Linux من GCC بينما ظل أسرع قليلاً في تجميع LLVM. [29]
في حين كان Clang تاريخيًا أسرع من GCC في التجميع، إلا أن جودة الإخراج كانت متأخرة. اعتبارًا من عام 2014، تأخر أداء البرامج المترجمة بواسطة Clang عن أداء البرنامج المترجم بواسطة GCC، في بعض الأحيان بعوامل كبيرة (تصل إلى 5.5x)، [28] مما أدى إلى تكرار التقارير السابقة عن الأداء الأبطأ. [26] تطور كلا المترجمين لزيادة أدائهما منذ ذلك الحين، مع تضييق الفجوة:
- تُظهر المقارنات التي أجريت في نوفمبر 2016 بين GCC 4.8.2 و clang 3.4، على مجموعة كبيرة من ملفات الاختبار، أن GCC يتفوق على clang بنحو 17% على الكود المصدر المحسن جيدًا. تعتمد نتائج الاختبار على الكود، ويمكن لكود المصدر C غير المحسن عكس مثل هذه الاختلافات. وبالتالي يبدو أن المترجمين قابلين للمقارنة على نطاق واسع. [30] [ مصدر غير موثوق ]
- أظهرت المقارنات في عام 2019 على Intel Ice Lake أن البرامج التي تم إنشاؤها بواسطة Clang 10 حققت 96٪ من أداء GCC 10 على 41 معيارًا مختلفًا (بينما فازت بـ 22 وخسرت 19 منها). [29]
- في عام 2023، كشفت مقارنة أخرى أجريت بعد أربع سنوات أن البرامج التي تم تجميعها باستخدام Clang تطابق الآن أداء تلك التي تم تجميعها باستخدام GCC. في المتوسط، يتفوق Clang 16 على GCC 13 بنسبة 6%. [31]
الواجهة
libclangيوفر واجهة C، مما يوفر واجهة برمجة تطبيقات صغيرة نسبيًا. تتضمن الوظائف المعروضة: تحليل كود المصدر إلى AST ، وتحميل ASTs، وعبور AST، وربط مواقع المصدر بالعناصر داخل AST.
سجل الحالة
يعرض هذا الجدول فقط الخطوات والإصدارات الهامة في تاريخ Clang.
| تاريخ | أبرز الأحداث |
|---|---|
| 11 يوليو 2007 | تم إصدار واجهة Clang الأمامية بموجب ترخيص مفتوح المصدر |
| 25 فبراير 2009 | يمكن لـ Clang/LLVM تجميع نواة FreeBSD عاملة . [32] [33] |
| 16 مارس 2009 | يمكن لـ Clang/LLVM تجميع نواة DragonFly BSD عاملة . [34] [35] |
| 23 أكتوبر 2009 | تم إصدار Clang 1.0، مع LLVM 2.6 لأول مرة. |
| ديسمبر 2009 | لقد وصل إنشاء الكود الخاص بلغة C وObjective-C إلى جودة الإنتاج. ولكن الدعم الخاص بلغة C++ وObjective-C++ لا يزال غير مكتمل. يمكن لـ Clang C++ تحليل مكتبة GCC 4.2 libstdc++ وإنشاء كود عامل للبرامج غير التافهة، [20] ويمكنه تجميع نفسه. [36] |
| 2 فبراير 2010 | Clang تستضيف نفسها . [37] |
| 20 مايو 2010 | لقد نجح الإصدار الأخير من Clang في بناء مكتبات Boost C++ ، واجتاز جميع الاختبارات تقريبًا. [38] |
| 10 يونيو 2010 | يصبح Clang/LLVM جزءًا لا يتجزأ من FreeBSD ، ولكن المترجم الافتراضي لا يزال GCC. [39] |
| 25 أكتوبر 2010 | يمكن لـ Clang/LLVM تجميع نواة Linux معدلة عاملة . [40] |
| يناير 2011 | تم الانتهاء من العمل الأولي لدعم مسودة معيار C++0x ، مع دعم بعض الميزات الجديدة للمسودة في إصدار تطوير Clang. [41] [13] |
| 10 فبراير 2011 | يمكن لـ Clang تجميع آلة افتراضية HotSpot Java عاملة . [26] |
| 19 يناير 2012 | يصبح Clang مكونًا اختياريًا في نظام البناء متعدد الأنظمة الأساسية لـ NetBSD ، لكن GCC لا يزال هو الافتراضي. [42] |
| 29 فبراير 2012 | يمكن لـ Clang 3.0 إعادة بناء 91.2% من أرشيف Debian . [43] |
| 29 فبراير 2012 | يصبح Clang هو المترجم الافتراضي في MINIX 3 [44] |
| 12 مايو 2012 | تم الإعلان عن استبدال GCC بنظام Clang/LLVM في FreeBSD . [45] |
| 5 نوفمبر 2012 | يصبح Clang مُجمِّعًا افتراضيًا في FreeBSD 10.x على amd64/i386. [46] |
| 18 فبراير 2013 | يمكن لـ Clang/LLVM تجميع Kernel Linux Android معدّل وعامل لنظام Nexus 7. [ 47] [48] |
| 19 أبريل 2013 | Clang هي ميزة مكتملة في لغة C++11 . [49] |
| 6 نوفمبر 2013 | Clang هي ميزة مكتملة في لغة C++14 . [50] |
| 11 سبتمبر 2014 | يمكن لـ Clang 3.5 إعادة بناء 94.3% من أرشيف Debian. انخفضت نسبة الأعطال بنسبة 1.2% لكل إصدار منذ يناير 2013، ويرجع ذلك أساسًا إلى زيادة التوافق مع أعلام GCC. [51] |
| أكتوبر 2016 | يصبح Clang مُجمِّعًا افتراضيًا لنظام Android [52] (وفي وقت لاحق، أصبح المُجمِّع الوحيد المدعوم من Android NDK [53] ). |
| 13 مارس 2017 | تم إصدار Clang 4.0.0 |
| 26 يوليو 2017 | يصبح Clang مُجمِّعًا افتراضيًا في OpenBSD 6.2 على amd64/i386. [54] |
| 7 سبتمبر 2017 | تم إصدار Clang 5.0.0 |
| 19 يناير 2018 | يصبح Clang مُجمِّعًا افتراضيًا في OpenBSD 6.3 على arm. [55] |
| 5 مارس 2018 | يتم استخدام Clang الآن لبناء Google Chrome لنظام التشغيل Windows. [56] |
| 8 مارس 2018 | تم إصدار Clang 6.0.0 |
| 5 سبتمبر 2018 | يتم استخدام Clang الآن لبناء Firefox لنظام Windows. [57] |
| 19 سبتمبر 2018 | تم إصدار Clang 7.0.0 |
| 20 مارس 2019 | تم إصدار Clang 8.0.0 |
| 1 يوليو 2019 | يصبح Clang مُجمِّعًا افتراضيًا في OpenBSD 6.6 على mips64. [58] |
| 19 سبتمبر 2019 | تم إصدار Clang 9.0.0 مع دعم هدف RISC-V الرسمي. [59] |
| 29 فبراير 2020 | يصبح Clang هو المترجم الوحيد للغة C في نظام FreeBSD الأساسي، مع إزالة GCC . [60] |
| 24 مارس 2020 | تم إصدار Clang 10.0.0 |
| 2 أبريل 2020 | يصبح Clang مُجمِّعًا افتراضيًا في OpenBSD 6.7 على PowerPC. [61] |
| 12 أكتوبر 2020 | تم إصدار Clang 11.0.0 |
| 21 ديسمبر 2020 | يصبح Clang مُجمِّعًا افتراضيًا في OpenBSD 6.9 على mips64el. [62] |
| 14 أبريل 2021 | تم إصدار Clang 12.0.0 |
| 4 أكتوبر 2021 | تم إصدار Clang 13.0.0 |
| 25 مارس 2022 | تم إصدار Clang 14.0.0 |
| 6 سبتمبر 2022 | تم إصدار Clang 15.0.0 |
| 17 مارس 2023 | تم إصدار Clang 16.0.0 |
| 9 سبتمبر 2023 | تم إصدار Clang 17.0.1 |
| 8 مارس 2024 | تم إصدار Clang 18.1.1 |
| 17 سبتمبر 2024 | تم إصدار Clang 19.1.0 |
انظر أيضا
مراجع
- ^ "ملاحظات إصدار LLVM 2.1". llvm.org . مجموعة مطوري LLVM. 27 سبتمبر 2007. مؤرشف من الأصل في 17 نوفمبر 2016. تم الاسترجاع في 30 أبريل 2018 .
- ^ "LLVM 19.1.7". 14 يناير 2025. تم الاسترجاع في 14 يناير 2025 .
- ^ "الإصدارات". llvm – مستودع مشروع llvm . مجموعة مطوري LLVM. 27 أغسطس 2021. مؤرشف من الأصل في 12 سبتمبر 2021. تم الاسترجاع في 12 سبتمبر 2021 – عبر GitHub.com .
- ^ abc "LICENSE.TXT"، llvm.org ، LLVM Developer Group، تم أرشفته من الأصل في 11 نوفمبر 2020 ، تم استرجاعه في 24 سبتمبر 2019
- ^ abc "LLVM Developer Policy", llvm.org , LLVM Developer Group, § Copyright, License, and Patents, تم أرشفة النسخة الأصلية في 13 نوفمبر 2012 , تم استرجاعها في 12 سبتمبر 2021
- ^ كريستوفر، إيريك (3 يوليو 2008). "أتساءل ببساطة عن نطق كلمة Clang". LLVMdev (قائمة بريدية) . تم الاسترجاع في 22 سبتمبر 2015 .
- ^ "دعم OpenMP". مدونة مشروع LLVM . 22 مايو 2015. مؤرشف من الأصل في 26 مارس 2016. تم الاسترجاع في 28 مارس 2016 .
- ^ "واجهة الحوسبة غير المتجانسة C++ للتنقل". GitHub . مؤرشف من الأصل في 27 يونيو 2020 . تم الاسترجاع في 18 فبراير 2020 .
- ^ "امتدادات لغة Clang". مؤرشف من الأصل في 24 فبراير 2014. تم الاسترجاع في 8 نوفمبر 2017.
بالإضافة إلى امتدادات اللغة المدرجة هنا، يهدف Clang إلى دعم مجموعة واسعة من امتدادات GCC
. - ^ ab Clang - Features and Goals: GCC Compatibility, 15 أبريل 2013، مؤرشف من الأصل في 27 أبريل 2018 ، تم استرجاعه في 30 أبريل 2018
- ^ "محلل ثابت Clang". LLVM. مؤرشف من الأصل في 30 أبريل 2018. تم الاسترجاع في 3 سبتمبر 2009 .
- ^ "المشاركة في مشروع Clang"، clang.llvm.org ، مجموعة مطوري LLVM، تم أرشفة النسخة الأصلية في 27 أبريل 2018 ، تم استرجاعها في 18 سبتمبر 2012 ،
Clang هو مشروع فرعي من مشروع LLVM، ولكنه يمتلك قوائم بريدية خاصة به لأن المجتمعات تضم أشخاصًا لديهم اهتمامات مختلفة.
- ^ "دعم C++ وC++'0x في Clang". LLVM. مؤرشف من الأصل في 4 يوليو 2013. تم الاسترجاع في 12 مارس 2023 .
- ^ "ملاحظات إصدار Clang 17.0.1". LLVM . تم الاسترجاع في 25 أكتوبر 2023 .
- ^ Treat, Adam (19 فبراير 2005). "mkspecs and patches for LLVM compile of Qt4". Qt4-preview-feedback (قائمة بريدية). مؤرشف من الأصل في 4 أكتوبر 2011.
- ^ Lattner, Chris (25 مايو 2007). LLVM for OpenGL and other stuff (Slides) . اجتماع مطوري LLVM. مؤرشف (PDF) من الأصل في 8 مايو 2016. تم الاسترجاع في 30 أبريل 2018 .
- ^ زاديك، كينيث (19 نوفمبر 2005). "رد: اقتراح تكامل LLVM/GCC". تطوير GCC (قائمة بريدية). مؤرشف من الأصل في 10 مارس 2016. تم الاسترجاع في 25 يوليو 2016 .
- ^ ab Naroff, Steve (25 مايو 2007). واجهة مستخدم جديدة لـ LLVM C (شرائح) . اجتماع مطوري LLVM. مؤرشف (PDF) من الأصل في 3 أبريل 2019. تم الاسترجاع في 30 أبريل 2018 .
- ^ Lattner, Chris (11 يوليو 2007). "واجهة مستخدم جديدة LLVM C: "clang"". cfe-dev (قائمة بريدية). مؤرشف من الأصل في 26 مارس 2020. تم الاسترجاع في 26 مارس 2020 .
- ^ فريق ab Clang، clang: واجهة مستخدم لعائلة لغة C لـ LLVM محفوظ في 12 نوفمبر 2017، على موقع Wayback Machine
- ^ "Clang: Utility and Applications: Library Based Architecture". مؤرشف من الأصل في 27 أبريل 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ "FLANG: NVIDIA Brings Fortran To LLVM". مؤرشف من الأصل في 20 مايو 2017. تم الاسترجاع في 18 مايو 2017 .
- ^ "مرحبًا بك في وثائق Flang — مُجمِّع Flang".
- ^ يمكن استخدام Clang غالبًا كبديل مباشر لـ GCC، مايو 2020، تم أرشفته من الأصل في 8 مايو 2020 ، تم استرجاعه في 9 مايو 2020
- ^ Clang - Features and Goals: Fast compiles and Low Memory Use, أكتوبر 2007، تم أرشفته من الأصل في 27 أبريل 2018 ، تم استرجاعه في 30 أبريل 2018
- ^ abc Simonis, Volker (10 فبراير 2011). "تجميع HotSpot VM باستخدام Clang". مؤرشف من الأصل في 18 فبراير 2011. تم الاسترجاع في 13 فبراير 2011. في حين أن التوافق العام مع GCC ممتاز وأوقات التجميع مثيرة للإعجاب ،
إلا أن أداء الكود الناتج لا يزال يفتقر إلى الجودة بعد إصدار GCC حديث.
- ^ " Benchmarking LLVM & Clang Against GCC 4.5". Phoronix . 21 أبريل 2010. مؤرشف من الأصل في 2 نوفمبر 2016. تم الاسترجاع في 13 فبراير 2011.
واجهت الثنائيات من LLVM-GCC وClang صعوبة في التنافس مع GCC 4.5.0 في معيار HMMer المحدد بوقت للبحث في قاعدة بيانات Pfam. كان LLVM-GCC وClang أبطأ بنحو 23%(...)على الرغم من أن LLVM / Clang ليسا بطلي الأداء في هذه المرحلة، إلا أن كلا المكونين لا يزالان قيد التطوير النشط للغاية ونأمل أن يكون هناك المزيد من الأخبار للإبلاغ عنها في الأشهر المقبلة
- ^ "GCC 4.9 VS. LLVM Clang 3.5 Linux Compiler Benchmarker". OpenBenchmarking.org. 14 أبريل 2014. مؤرشف من الأصل في 23 أكتوبر 2017. تم الاسترجاع في 25 يونيو 2014 .
- ^ بواسطة Michael Larabel (23 ديسمبر 2019). "LLVM Clang يحقق أداءً بنسبة ~96% لـ GCC على Intel Ice Lake". مؤرشف من الأصل في 15 يناير 2021. تم الاسترجاع في 14 يناير 2021 .
- ^ "Clang vs GCC - which produce better binaries?". stackoverflow.com . مؤرشف من الأصل في 1 يونيو 2017 . تم الاسترجاع في 1 أكتوبر 2018 .
- ^ مايكل لارابيل (11 مايو 2023). "أداء المترجم LLVM Clang 16 مقابل GCC 13 على Intel Raptor Lake" . تم الاسترجاع في 24 أبريل 2024 .
- ^ Divacky, Roman (25 فبراير 2009). "[إعلان] clang/llvm يمكنه تجميع نواة FreeBSD التي تعمل بنظام التشغيل i386/amd64". مؤرشف من الأصل في 1 مايو 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ بناء FreeBSD باستخدام Clang، Wiki.freebsd.org، 24 أغسطس 2012، مؤرشف من الأصل في 30 أبريل 2018 ، تم استرجاعه في 18 سبتمبر 2012
- ^ Hornung, Alex. "llvm/clang once more". مؤرشف من الأصل في 30 أبريل 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ Clang, DragonFly BSD، تم أرشفته من الأصل في 30 أبريل 2018 ، تم استرجاعه في 18 سبتمبر 2012
- ^ "يمكن لـ Clang تجميع LLVM و Clang". مدونة مشروع LLVM. 24 ديسمبر 2009. مؤرشف من الأصل في 26 أبريل 2012. تم الاسترجاع في 31 ديسمبر 2009 .
- ^ "Clang Successfully Self-Hosts". مدونة مشروع LLVM. 4 فبراير 2010. مؤرشف من الأصل في 26 أبريل 2012. تم الاسترجاع في 5 فبراير 2010 .
- ^ Gregor, Doug (20 مايو 2010). "Clang++ Builds Boost!". مدونة مشروع LLVM. مؤرشف من الأصل في 26 أبريل 2012. تم الاسترجاع في 21 مايو 2010 .
- ^ ديفيس، براد. "تقارير حالة FreeBSD أبريل-يونيو 2010". مؤرشف من الأصل في 24 يونيو 2018. تم الاسترجاع 30 أبريل 2018 .
- ^ يقوم Clang ببناء نواة Linux عاملة (يتم تشغيلها على RL5 باستخدام SMP والشبكات وX والمضيفين الذاتيين)، Lists.cs.uiuc.edu، مؤرشف من الأصل في 7 سبتمبر 2015 ، تم استرجاعه في 18 سبتمبر 2012
- ^ Gregor, Douglas (26 يناير 2011). "دعم ميزة C++0x الجديدة في Clang" (قائمة بريدية). مؤرشف من الأصل في 30 يناير 2011. تم الاسترجاع في 29 يناير 2011 .
- ^ Sonnenberger, Jörg (19 يناير 2012). "Status of NetBSD and LLVM". مؤرشف من الأصل في 21 سبتمبر 2016. تم الاسترجاع في 26 فبراير 2014 .
- ^ Ledru, Sylvestre. "إعادة بناء أرشيف Debian باستخدام clang". مؤرشف من الأصل في 1 مايو 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ "الموقع الرسمي لجهاز Minix 3: الأخبار". مؤرشف من الأصل في 17 ديسمبر 2009. تم الاسترجاع في 7 ديسمبر 2012 .
- ^ جيرزو، دانييل (12 مايو 2012). "تقرير حالة FreeBSD ربع السنوي يناير-مارس 2012" (قائمة بريدية). مؤرشف من الأصل في 18 فبراير 2018. تم الاسترجاع في 14 مايو 2012 .
- ^ Davis, Brooks (5 نوفمبر 2012). "Heads Up: Clang now the default on x86" (Mailing list). مؤرشف من الأصل في 30 أبريل 2018. تم الاسترجاع في 7 نوفمبر 2012 .
- ^ Webster, Behan (18 فبراير 2013). "LLVMLinux: Compiling Android with LLVM" (PDF) . مؤرشف من الأصل (PDF) في 12 مايو 2014. تم الاسترجاع في 11 مايو 2013 .
- ^ Tinti, Vinicius (17 مارس 2013). "LLVMLinux: Nexus 7". مؤرشف من الأصل في 11 يونيو 2014. تم الاسترجاع في 11 مايو 2013 .
- ^ Du Toit, Stefanus. "Clang is C++11 feature complete as of *just now*!". مؤرشف من الأصل في 24 سبتمبر 2019. تم الاسترجاع في 20 أبريل 2013 .
- ^ "[llvm-project] Revision 194194". مؤرشف من الأصل في 18 نوفمبر 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ Ledru, Sylvestre. "إعادة بناء Debian باستخدام Clang 3.5.0". مؤرشف من الأصل في 1 مايو 2018. تم الاسترجاع في 30 أبريل 2018 .
- ^ "NDK Revision History | Android Developers". developer.android.com . مؤرشف من الأصل في 6 مارس 2018 . تم الاسترجاع في 6 مارس 2018 .
- ^ "NDK Revision History | Android NDK | Android Developers". Android Developers . مؤرشف من الأصل في 5 أبريل 2019 . تم الاسترجاع في 30 أبريل 2018 .
- ^ Nagy, Robert (26 يوليو 2017). "switch the default compiler on amd64 and i386 to clang" (قائمة بريدية). مؤرشف من الأصل في 25 أكتوبر 2018. تم الاسترجاع في 30 سبتمبر 2017 .
- ^ Kettenis, Mark (19 يناير 2018). "Switch the default compiler on armv7 to clang" (Mailing list). مؤرشف من الأصل في 8 أبريل 2022. تم الاسترجاع في 27 أغسطس 2020 .
- ^ "Clang is now used to build Chrome for Windows". blog.llvm.org . 5 مارس 2018. مؤرشف من الأصل في 5 مارس 2018. تم الاسترجاع في 7 أبريل 2018 .
- ^ "Firefox Beta 63.0beta, See All New Features, Updates and Fixes". www.mozilla.org . مؤرشف من الأصل في 19 أبريل 2021 . تم الاسترجاع في 18 مارس 2020 .
- ^ هانكالا، فيزا (1 يوليو 2019). "تبديل المترجم الافتراضي على أوكتيون إلى كلانج" (قائمة بريدية). مؤرشف من الأصل في 8 أبريل 2022. تم الاسترجاع في 27 أغسطس 2020 .
- ^ "إصدارات LLVM 9 مع دعم RISC-V Target الرسمي، وAsm Goto، وClang 9، والمزيد". riscv.org . 26 سبتمبر 2019. مؤرشف من الأصل في 28 ديسمبر 2019 . تم الاسترجاع في 26 سبتمبر 2019 .
- ^ "FreeBSD svn commit r358454". 29 فبراير 2020. مؤرشف من الأصل في 10 مارس 2020. تم الاسترجاع 7 مارس 2020 .
- ^ Kettenis, Mark (2 أبريل 2020). "Switch the default compiler on powerpc to clang" (Mailing list). مؤرشف من الأصل في 8 أبريل 2022. تم الاسترجاع في 27 أغسطس 2020 .
- ^ هانكالا، فيزا (21 ديسمبر 2020). "جعل clang المترجم الافتراضي على loongson" (قائمة بريدية). مؤرشف من الأصل في 13 يناير 2021. تم الاسترجاع في 1 يناير 2021 .
روابط خارجية
- الموقع الرسمي
