மே 3 அன்று, GCC இன் ஒன்பதாவது பதிப்பின் முதல் பொது வெளியீடு நடந்தது: GCC 9.1.
எட்டாவதுடன் ஒப்பிடும்போது இது பல குறிப்பிடத்தக்க மேம்பாடுகள் மற்றும் சேர்த்தல்களைக் கொண்டுள்ளது
பதிப்பு.
பொதுவான மாற்றங்கள்
விருப்பங்கள்
- அளவை ஏற்கும் கட்டளைகள் இப்போது 64-பிட் மதிப்புகள் மற்றும் அளவைக் குறிப்பிட பின்னொட்டுகளை ஆதரிக்கின்றன;
- விருப்பம் சேர்க்கப்பட்டது - ஃபிளைவ்-பேட்ச்சிங், டைனமிக், குறியீடு மாற்றுதலுக்கு அழிவுகரமானதாக இருக்கும் மேம்படுத்தல்களைக் கட்டுப்படுத்த;
- கட்டளை ஷெல்லில் தானாக நிறைவு செய்வதை ஆதரிக்க --நிறைவு விருப்பம் சேர்க்கப்பட்டது;
- கம்பைலர் கண்டறிதலில் இப்போது வரி எண்கள் அடங்கும் (-fno-diagnostics-ஷோ-லைன்-எண்கள்) மற்றும்
வகை தகவல் (fno-diagnostics-ஷோ-லேபிள்கள்); - விருப்பம் சேர்க்கப்பட்டது -fdiagnostics-format=json JSON வடிவத்தில் கண்டறிதல்களை வெளியிடுவதற்கு;
- சீரமைப்பைக் குறிப்பிடுவதற்கான விருப்பங்கள் (-Falign-செயல்பாடுகள், எடுத்துக்காட்டாக) இப்போது ஓரிரு சீரமைப்பு விருப்பங்களை ஏற்கலாம்;
- கோப்புகளின் பட்டியலை வடிகட்டுவதற்கான விருப்பங்கள் சேர்க்கப்பட்டன (-fprofile-filter-files, -fprofile-விலக்கு-கோப்புகள்), இது விவரக்குறிப்பாளரால் கருவி செய்யப்படுகிறது;
- AddressSanitizer இப்போது ஸ்டேக்கில் உள்ள மாறிகளுக்கு தவறான அணுகல்களைப் பிடிக்க மிகவும் கச்சிதமான சீரமைப்பைப் பயன்படுத்துகிறது;
- பல வெளியீடு மேம்பாடுகள் -fopt-தகவல்;
- விருப்பம் சேர்க்கப்பட்டது -fsave-optimization-record தேர்வுமுறை அறிக்கையை ஒரு கோப்பில் சேமிக்க;
- விருப்பம் சேர்க்கப்பட்டது -ஃபிபா-ஸ்டாக்-சீரமைப்பு и -fipa-குறிப்பு-முகவரி.
புதிய உள்ளமைக்கப்பட்ட அம்சங்கள்
புதிய பண்பு
மற்ற
இது தொடர்பான பல குறியீடு உருவாக்க மேம்பாடுகள்:
- சுவிட்ச் கட்டுமானங்களின் தலைமுறை;
- இடை-செயல்முறை மேம்படுத்தல்கள்;
- விவரக்குறிப்பு தகவலின் அடிப்படையில் தேர்வுமுறை;
- சட்டசபை கட்டத்தில் தேர்வுமுறை (LTO);
மேலும் gcov இன் உள் வடிவம் இப்போது JSON மற்றும் புதிய விருப்பமாகும் --பயன்படுத்த-சூடான-வண்ணங்கள் அவை எவ்வளவு அடிக்கடி பயன்படுத்தப்படுகின்றன என்பதன் அடிப்படையில் குறியீட்டின் வண்ணக் கோடுகளை உள்ளடக்கியது.
மொழிகளை
செயல்படுத்தலின் தரம் மற்றும் முழுமை OpenACC C, C++ மற்றும் Fortran ஆகிய மொழிகள் தொடர்ந்து மேம்பட்டு வருகின்றன.
சி போன்ற மொழிகள்
- OpenMP 5.0க்கான பகுதி ஆதரவு செயல்படுத்தப்பட்டது;
- அம்சம் சேர்க்கப்பட்டது __பில்டின்_கன்வெக்டர்;
- எச்சரிக்கை சேர்க்கப்பட்டது நிரம்பிய-உறுப்பினர்;
- ஏற்கனவே உள்ள பல எச்சரிக்கைகளை மேம்படுத்துதல்;
- ஒரு மேக்ரோவிற்கு தவறான எண்ணிக்கையிலான வாதங்களை அனுப்பும்போது பிழை உரை இப்போது மேக்ரோவின் அறிவிப்பை உள்ளடக்கியது;
- எழுத்துப்பிழை திருத்த பரிந்துரைகளுக்கான மேம்பாடுகள்.
C
- -std=c2x (எதிர்கால C தரநிலை)க்கான ஒரு வாதத்துடன் _Static_assert ஐ ஆதரிக்கவும்;
- புதிய எச்சரிக்கை -முழு-மதிப்பு, இது abs() போன்ற செயல்பாடுகளுக்கு தவறான வாத வகையைப் பிடிக்கிறது.
சி ++
- புதிய எச்சரிக்கைகள்: -மறுக்கப்பட்ட-நகல்,
-வினிட்-லிஸ்ட்-வாழ்நாள்,
- தேவையற்ற நகர்வு,
-Wpessimizing-move,
-வகுப்பு-மாற்றம்; - எதிர்கால தரநிலையில் இருந்து புதிய அம்சங்களை செயல்படுத்தும் பணி நடந்து வருகிறது C++2a;
- முன்பக்கம் இப்போது பல மூலக் குறியீடு கூறுகளைப் பற்றிய மிகவும் துல்லியமான தகவலைச் சேமிக்கிறது, இது கண்டறியும் முறைகளில் மேலும் விரிவான தகவலைக் காண்பிக்க உங்களை அனுமதிக்கிறது;
- ஓவர்லோடட் செயல்பாடுகள், பைனரி ஆபரேட்டர்கள், செயல்பாட்டு அழைப்புகள் மற்றும் வடிவமைப்பு சரங்களுக்கான மேம்படுத்தப்பட்ட கண்டறிதல்;
- பல பிரபலமான பிழைகள் (விடுபட்ட அடைப்புக்குறிகள், பெயர்வெளிகள், எழுத்துப்பிழைகள் போன்றவை) சில மேம்பாட்டு சூழல்களால் ஆதரிக்கப்படும் தானியங்கு திருத்தங்கள் சேர்க்கப்பட்டது.
libstdc++
- C++17 செயல்படுத்தல் இனி சோதனைக்குரியது அல்ல;
- இணையான அல்காரிதம்கள் சேர்க்கப்பட்டது, , , ஏ இனி -lstdc++fs தேவையில்லை;
- C++2a க்கான மேம்படுத்தப்பட்ட சோதனை ஆதரவு ( , , std::bind_front, etc.);
- விண்டோஸில் கோப்பு ஸ்ட்ரீம்களைத் திறப்பதற்கான ஆதரவு, அதன் பாதைகளில் சார் அல்லாத எழுத்துக்கள் உள்ளன;
- ஆரம்ப ஆதரவு விண்டோஸில்;
- நெட்வொர்க்கிங் TSக்கான ஆரம்ப ஆதரவு.
D
D மொழி பதிப்பு 2.076 GCC இல் சேர்க்கப்பட்டுள்ளது.
FORTRAN
- ஒத்திசைவற்ற I/O க்கான முழு ஆதரவு;
- MINLOC மற்றும் MAXLOC க்கு செயல்படுத்தப்பட்ட BACK வாதம்;
- செயல்படுத்தப்பட்ட FINDLOC மற்றும் IS_CONTIGUS செயல்பாடுகள்;
- கலப்பு எண்களின் கூறுகளை அணுகுவதற்கான தொடரியல் செயல்படுத்தப்பட்டது: c%re மற்றும் c%im;
- str%len மற்றும் a%kind தொடரியல் செயல்படுத்தப்பட்டது;
- செயல்படுத்தப்பட்ட C விளக்கங்கள் மற்றும் ISO_Fortran_binding.h தலைப்பு;
- வாதங்களில் ஒன்று NaN ஆக இருக்கும் போது MAX மற்றும் MIN செயல்பாடுகளின் முடிவுக்கான தளர்வான தேவைகள்;
- விருப்பம் சேர்க்கப்பட்டது -fdec- அடங்கும்;
- உத்தரவு சேர்க்கப்பட்டது பில்டின்.
libgccjit
- அம்சம் சேர்க்கப்பட்டது gcc_jit_context_add_driver_option.
மற்ற
பல கட்டிடக்கலை மற்றும் OS-குறிப்பிட்ட மாற்றங்கள்.
ஆதாரம்: linux.org.ru