تم إطلاق الإصدار 12.1 من دول مجلس التعاون الخليجي بالفعل ، تعرف على أخباره والذكرى السنوية الخامسة والثلاثين لتأسيسه

شعار GNU GCC

إطلاق الإصدار الجديد من المترجم الخليج (مجموعة مترجم جنو) تم إصدار 12.1 بالفعل وكما هو الحال مع جميع الإصدارات الرئيسية من دول مجلس التعاون الخليجي ، سيأتي هذا الإصدار بالعديد من الإضافات والتحسينات وإصلاحات الأخطاء والميزات الجديدة ، بالإضافة إلى هذا الشهر (23 مايو) ، سيحتفل المشروع بمرور 35 عامًا على تشكيل الإصدار الأول.

مجلس التعاون الخليجي 12 هو بالفعل مترجم النظام لـ Fedora 36 ، وسيتوفر GCC 12 أيضًا على Red Hat Enterprise Linux في Red Hat Developer Toolset (الإصدار 7) أو Red Hat GCC Toolset (الإصداران 8 و 9).

يفخر مطورو دول مجلس التعاون الخليجي بالإعلان عن إصدار رئيسي آخر من دول مجلس التعاون الخليجي ، 12.1.

نحتفل هذا العام بالذكرى السنوية الخامسة والثلاثين لأول نسخة تجريبية من دول مجلس التعاون الخليجي
وهذا الشهر نحتفل بمرور 35 عامًا على إصدار GCC 1.0!

هذا الإصدار يسقط دعم تنسيق تصحيح STABS و
يقدم دعمًا لتنسيق تصحيح أخطاء CTF [1]. إن C و C ++
تواصل الواجهات التقدم مع دعم موسع للميزات
في معايير C2X و C ++ 23 القادمة والمكتبة القياسية C ++
يحسن الدعم للأجزاء التجريبية من C ++ 20 و C ++ 23.
أصبحت واجهة Fortran الآن متوافقة تمامًا مع TS 29113 للتشغيل البيني مع C.

ما الجديد في دول مجلس التعاون الخليجي 12.1؟

في هذا الإصدار الجديد تم تنفيذ العديد من المقترحات، مثل اللغات تمت إضافة C و C ++ وظيفة مدمجة __buildin_dynamic_object_size لتحديد حجم الكائن، متوافق مع وظيفة مشابهة لـ Clang.

مضاف دعم السمة "غير متوفر" للغات C و C ++ (على سبيل المثال ، يمكنك وضع علامة على الوظائف التي ستؤدي إلى حدوث خطأ عند استخدامها) ، بالإضافة إلى دعم توجيهات المعالجة المسبقة "#elifdef" و "#elifndef" للغات C و C ++.

ويلاحظ أيضًا أن ملف علامة "-Wbidi-chars" للتحذير في حالة إساءة استخدام أحرف UTF-8، وتغيير ترتيب عرض النص ثنائي الاتجاه ، وكذلك علامة "-Warray-Compar" لإصدار تحذير عند محاولة مقارنة معاملين يشيران إلى المصفوفات.

بالإضافة إلى ذلك ، فإن iتنفيذ معايير OpenMP 5.0 و 5.1 (Open Multi-Processing) ، التي تحدد واجهات برمجة التطبيقات وطرق تطبيق أساليب البرمجة المتوازية على أنظمة متعددة النواة وهجينة (CPU + GPU / DSP) مع ذاكرة مشتركة ووحدات موجهة (SIMD).

أيضا تحسين تنفيذ مواصفات البرمجة المتوازية OpenACC 2.6 ، تحديد وسائل إلغاء تحميل العمليات على وحدات معالجة الرسومات والمعالجات المتخصصة مثل NVIDIA PTX ؛ وإضافة دعم للتعليمات الموسعة Intel AVX512-FP16 ونوع _Float16 إلى الواجهة الخلفية لإنشاء كود x86.

توفر الواجهة الأمامية لـ Fortran دعمًا كاملاً لمواصفات TS 29113 ، التي تصف إمكانيات ضمان إمكانية النقل بين كود Fortran و C.

توقف دعم تنسيق تخزين معلومات التصحيح "STABS" الذي تم إنشاؤه في الثمانينيات.

تمت إضافة دعم للامتداد __builtin_shufflevector (vec1، vec2، index1، index2، ...) الذي تمت إضافته مسبقًا إلى Clang ، والذي يوفر مكالمة واحدة لإجراء عمليات خلط متجه شائعة وخلط عشوائي.

عند استخدام مستوى التحسين "-O2" ، يتم تمكين Vectorization افتراضيًا (يتم تمكين أوضاع -ftree-vectorize و -fvect-cost-model = أوضاع رخيصة جدًا). يسمح النموذج "الرخيص جدًا" بالتوجيه فقط إذا كان بإمكان رمز المتجه أن يحل تمامًا محل الشفرة العددية المتجهية القابلة للتحويل.

تمت إضافة وضع "-ftrivial-auto-var-init" لتمكين التهيئة المتغيرة الصريحة على المكدس لتعقب المشكلات ومنع نقاط الضعف المرتبطة باستخدام المتغيرات غير المهيأة.

تمت إضافة تنفيذ وظائف C المضمنة في المترجم (الجوهر) للتحميل الذري وتخزين البيانات في الذاكرة ، بناءً على استخدام تعليمات ARM الموسعة (ls64). تمت إضافة دعم لتسريع وظائف memcpy و memmove و memset باستخدام امتداد ARM mopoption.

مضاف وضع تحقق جديد "-fsanitize = shadow-call-stack" (ShadowCallStack) ، والذي يتوفر حاليًا فقط لمعمارية AArch64 ويعمل عند تجميع التعليمات البرمجية باستخدام الخيار "-fixed-r18". يوفر الوضع الحماية ضد إعادة كتابة عنوان إرجاع الوظيفة في حالة تجاوز سعة المخزن المؤقت للمكدس. يتمثل جوهر الحماية في حفظ عنوان المرسل في مكدس "ظل" منفصل بعد نقل عنصر التحكم إلى الوظيفة واسترداد هذا العنوان قبل الخروج من الوظيفة.

مصدر: https://gcc.gnu.org/pipermail


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.