GCC 9.1

3 мамырда GCC тоғызыншы нұсқасының бірінші жалпыға қолжетімді шығарылымы өтті: GCC 9.1.
Онда сегізіншімен салыстырғанда көптеген маңызды жақсартулар мен толықтырулар бар
нұсқасы.

Жалпы өзгерістер

Опциялар
Жаңа кірістірілген мүмкіндіктер
Жаңа атрибут
Басқа

Мыналарға қатысты көптеген код генерациясының жақсартулары:

  • коммутатор конструкцияларын генерациялау;
  • процедурааралық оңтайландырулар;
  • профильдеу ақпаратына негізделген оңтайландыру;
  • құрастыру сатысында оңтайландыру (LTO);

Сондай-ақ, gcov ішкі пішімі енді JSON және жаңа опция --пайдалану-ыстық-түс жиі қолданылатынына байланысты код сызықтарын бояуды қамтиды.

Тілдер

Орындалу сапасы мен толықтығы OpenACC C, C++ және Fortran тілдері жетілдіруді жалғастыруда.

C тәрізді тілдер
  • OpenMP 5.0 үшін ішінара қолдау жүзеге асырылды;
  • Қосымша функция __қондырылған_түрлендіргіш;
  • Қосымша ескерту -Қапталған мүшенің-адресі;
  • Қолданыстағы бірқатар ескертулерді жақсарту;
  • Макросқа аргументтердің қате санын жіберу кезіндегі қате мәтіні енді макростың өзі туралы мәлімдемені қамтиды;
  • Теру қателерін түзету бойынша ұсыныстарды жақсарту.
C
  • -std=c2x (болашақ C стандарты) үшін бір аргументпен _Static_assert қолдауы;
  • Жаңа ескерту -Абсолюттік мән, ол abs() сияқты функциялар үшін қате аргумент түрін ұстайды.
C ++
  • Жаңа ескертулер: -W ескірген-көшірме,
    -Winit-list-өмір уақыты,
    -Ерексіз қозғалыс,
    -Wpessizing-қозғалысы,
    -Wclass-түрлендіру;
  • Болашақ стандарттан жаңа мүмкіндіктерді енгізу жұмыстары жүргізілуде C++ 2a;
  • Frontend енді диагностикада егжей-тегжейлі ақпаратты көрсетуге мүмкіндік беретін бірқатар бастапқы код элементтері туралы дәлірек ақпаратты сақтайды;
  • Шамадан тыс жүктелген функциялар, екілік операторлар, функция шақырулары және пішім жолдары үшін жақсартылған диагностика;
  • Бірқатар танымал қателер үшін (жақшалар, аттар кеңістігі, қателер және т.б.) кейбір әзірлеу орталары қолдайтын автоматты түзетулер қосылды.
libstdc++
  • C++ 17 іске асыру енді эксперименттік емес;
  • Қосылған параллельді алгоритмдер, , , А енді -lstdc++fs талап етпейді;
  • C++ 2a үшін жақсартылған эксперименттік қолдау ( , , std::bind_front, т.б.);
  • Жолында таңба емес таңбалардан тұратын Windows жүйесінде файл ағындарын ашуды қолдау;
  • Бастапқы қолдау Windows жүйесінде;
  • Networking TS үшін бастапқы қолдау.
D

D тілінің 2.076 нұсқасы GCC құрамына кіреді.

Fortran
  • Асинхронды енгізу/шығару үшін толық қолдау;
  • MINLOC және MAXLOC үшін BACK аргументі орындалды;
  • FINDLOC және IS_CONTIGOUS функциялары орындалды;
  • Күрделі сандардың құрамдас бөліктеріне қол жеткізу синтаксисі жүзеге асырылды: c%re және c%im;
  • str%len және a%kind синтаксисі енгізілді;
  • Орнатылған C дескрипторлары және ISO_Fortran_binding.h тақырыбы;
  • Аргументтердің бірі NaN болғанда MAX және MIN функцияларының нәтижесіне қойылатын талаптар жеңілдетілді;
  • Қосылған опция -fdec-қосады;
  • Директивалар қосылды ҚҰРЫЛҒАН.
libgccjit

Басқа

Архитектураға және ОЖ-ға тән көптеген өзгерістер.

Ақпарат көзі: linux.org.ru

пікір қалдыру