في 3 مايو، تم إطلاق الإصدار العام الأول من الإصدار التاسع من دول مجلس التعاون الخليجي: مجلس التعاون الخليجي 9.1.
يحتوي على العديد من التحسينات والإضافات الهامة مقارنة بالثامن
إصدار.
تغييرات عامة
خيارات
- الأوامر التي تقبل الحجم تدعم الآن قيم 64 بت ولاحقات لتحديد الحجم؛
- تمت إضافة الخيار -flive الترقيعللتحكم في التحسينات التي من المحتمل أن تكون مدمرة لاستبدال التعليمات البرمجية الديناميكية؛
- تمت إضافة خيار --completion لدعم الإكمال التلقائي في غلاف الأوامر؛
- تتضمن تشخيصات المترجم الآن أرقام الأسطر (-fno-diagnostics-إظهار-أرقام الأسطر) و
اكتب المعلومات (fno-diagnostics-show-labels); - تمت إضافة الخيار -fdiagnostics-format=json لإخراج التشخيص بتنسيق JSON؛
- خيارات تحديد المحاذاة (وظائف المحاذاة، على سبيل المثال) يمكنه الآن قبول خيارين من خيارات المحاذاة؛
- تمت إضافة خيارات لتصفية قائمة الملفات (-fprofile-filter-filter, -fprofile-exclude-files)، والتي يتم تجهيزها بواسطة ملف التعريف؛
- يستخدم AddressSanitizer الآن محاذاة أكثر إحكاما لالتقاط عمليات الوصول غير الصالحة إلى المتغيرات الموجودة على المكدس؛
- العديد من التحسينات في الإخراج -fopt- معلومات;
- تمت إضافة الخيار -fsave-optimization-record لحفظ تقرير التحسين في ملف؛
- تمت إضافة الخيار -fipa-stack-alignment и -fipa-reference-addressable.
ميزات مدمجة جديدة
سمة جديدة
- نسخة.
آخر
العديد من تحسينات إنشاء التعليمات البرمجية المتعلقة بما يلي:
- توليد بنيات التبديل؛
- تحسينات بين الإجرائية؛
- التحسين على أساس معلومات التنميط؛
- التحسين في مرحلة التجميع (LTO)؛
كما أصبح التنسيق الداخلي لـ gcov الآن JSON، والخيار الجديد --استخدام-سخونة-الألوان يتضمن تلوين أسطر من التعليمات البرمجية بناءً على عدد مرات استخدامها.
لغات
جودة واكتمال التنفيذ OpenACC تستمر اللغات C وC++ وFortran في التحسن.
اللغات الشبيهة بـ C
- تم تنفيذ الدعم الجزئي لـ OpenMP 5.0؛
- تمت إضافة الميزة __builtin_convertvector;
- تحذير مضاف -Waddress-of-packed- member;
- إدخال تحسينات على عدد من التحذيرات الموجودة؛
- يتضمن الآن نص الخطأ عند تمرير عدد خاطئ من الوسائط إلى ماكرو إعلان الماكرو نفسه؛
- تحسينات على اقتراحات تصحيح الأخطاء.
C
- دعم _Static_assert مع وسيطة واحدة لـ -std=c2x (معيار C المستقبلي)؛
- تحذير جديد -قيمة مطلقة، الذي يلتقط نوع الوسيطة الخاطئة لوظائف مثل abs().
C + +
- تحذيرات جديدة: -Wdeprecated-نسخة,
-Winit-قائمة-العمر,
-حركة زائدة عن الحاجة,
-التشاؤم-التحرك,
-تحويل فئة W; - يجري العمل حاليًا على تنفيذ ميزات جديدة من المعيار المستقبلي سي ++ 2 أ;
- تقوم الواجهة الأمامية الآن بتخزين معلومات أكثر دقة حول عدد من عناصر التعليمات البرمجية المصدر، مما يسمح لك بعرض معلومات أكثر تفصيلاً في التشخيص؛
- تحسين التشخيص للوظائف ذات التحميل الزائد، والمشغلين الثنائيين، واستدعاءات الوظائف، وسلاسل التنسيق؛
- تمت إضافة إصلاحات تلقائية تدعمها بعض بيئات التطوير لعدد من الأخطاء الشائعة (الأقواس المفقودة ومساحات الأسماء والأخطاء المطبعية وما إلى ذلك).
libstdc ++
- لم يعد تطبيق C++ 17 تجريبيًا؛
- وأضاف خوارزميات متوازية، , ، أ لم يعد يتطلب -lstdc++fs؛
- تحسين الدعم التجريبي لـ C++2a ( , ، الأمراض المنقولة جنسيا::bind_front، وما إلى ذلك)؛
- دعم فتح تدفقات الملفات على نظام التشغيل Windows الذي تحتوي مساراته على أحرف غير حرفية؛
- الدعم الأولي على ويندوز؛
- الدعم الأولي لشبكات TS.
D
تم تضمين إصدار لغة D 2.076 في دول مجلس التعاون الخليجي.
فورتران
- الدعم الكامل للإدخال/الإخراج غير المتزامن؛
- تم تنفيذ الوسيطة BACK لـ MINLOC وMAXLOC؛
- تم تنفيذ وظائف FINDLOC وIS_CONTIGOUS؛
- تم تنفيذ بناء الجملة للوصول إلى مكونات الأعداد المركبة: c%re وc%im;
- تم تنفيذ بناء الجملة str%len وa%kind؛
- تم تنفيذ واصفات لغة C ورأس ISO_Fortran_binding.h؛
- متطلبات مبسطة لنتيجة الدالتين MAX وMIN عندما تكون إحدى الوسائط هي NaN؛
- تمت إضافة الخيار -fdec-تشمل;
- تمت إضافة التوجيه مدمج.
com.libgccjit
- تمت إضافة الميزة gcc_jit_context_add_driver_option.
آخر
العديد من التغييرات الخاصة بالبنية ونظام التشغيل.
المصدر: linux.org.ru