මැයි 3 වන දින, GCC හි නවවන අනුවාදයේ පළමු ප්රසිද්ධ නිකුතුව සිදු විය: GCC 9.1.
එය අටවැන්නට සාපේක්ෂව සැලකිය යුතු වැඩිදියුණු කිරීම් සහ එකතු කිරීම් අඩංගු වේ
පිටපත.
සාමාන්ය වෙනස්කම්
විකල්ප
- ප්රමාණය පිළිගන්නා විධාන දැන් 64-bit අගයන් සහ ප්රමාණය නියම කිරීමට උපසර්ග සඳහා සහය දක්වයි;
- එකතු කරන ලද විකල්පය - පියාසර කිරීම, ගතික, කේත ප්රතිස්ථාපනයට විනාශකාරී විය හැකි ප්රශස්තකරණයන් පාලනය කිරීමට;
- විධාන කවචයේ ස්වයංක්රීයව සම්පූර්ණ කිරීම සඳහා සහය දැක්වීම සඳහා --සම්පූර්ණ විකල්පය එකතු කරන ලදී;
- සම්පාදක රෝග විනිශ්චයට දැන් රේඛා අංක ඇතුළත් වේ (-fno-diagnostics-show-line-numbers) සහ
තොරතුරු වර්ගය (fno-diagnostics-show-labels); - එකතු කරන ලද විකල්පය -fdiagnostics-format=json JSON ආකෘතියෙන් රෝග විනිශ්චය ප්රතිදානය කිරීමට;
- පෙළගැස්ම සඳහන් කිරීම සඳහා විකල්ප (-falign-කාර්යයන්, උදාහරණයක් ලෙස) දැන් පෙළගැස්වීමේ විකල්ප කිහිපයක් පිළිගත හැකිය;
- ගොනු ලැයිස්තුව පෙරීම සඳහා විකල්ප එකතු කරන ලදී (-fprofile-පෙරහන්-ගොනු, -fprofile-exclude-ගොනු), පැතිකඩකරු විසින් උපකරණය කරන ලද;
- AddressSanitizer දැන් තොගයේ ඇති විචල්යවලට වලංගු නොවන ප්රවේශයන් අල්ලා ගැනීමට වඩාත් සංයුක්ත පෙළගැස්ම භාවිතා කරයි;
- බොහෝ නිමැවුම් වැඩිදියුණු කිරීම් -fopt-තොරතුරු;
- එකතු කරන ලද විකල්පය -fsave-optimization-record ප්රශස්තිකරණ වාර්තාව ගොනුවකට සුරැකීමට;
- එකතු කරන ලද විකල්පය -fipa-stack-alignment и -fipa-යොමු-ආමන්ත්රණය කළ හැකි.
නව බිල්ට් විශේෂාංග
නව ගුණාංගය
වෙනත්
බොහෝ කේත උත්පාදන වැඩිදියුණු කිරීම් සම්බන්ධව:
- ස්විච් ඉදිකිරීම් උත්පාදනය;
- අන්තර් ක්රියා පටිපාටි ප්රශස්තකරණයන්;
- පැතිකඩ තොරතුරු මත පදනම්ව ප්රශස්තකරණය;
- එකලස් කිරීමේ අදියරේදී ප්රශස්තකරණය (LTO);
එසේම gcov හි අභ්යන්තර ආකෘතිය දැන් JSON වන අතර නව විකල්පය වේ --උණුසුම්-වර්ණ භාවිතා කරන්න ඒවා භාවිතා කරන වාර ගණන මත පදනම්ව කේත රේඛා වර්ණ ගැන්වීම ඇතුළත් වේ.
භාෂා
ක්රියාත්මක කිරීමේ ගුණාත්මකභාවය සහ සම්පූර්ණත්වය OpenACC C, C++, සහ Fortran යන භාෂා තවදුරටත් දියුණු වෙමින් පවතී.
C වැනි භාෂා
- OpenMP 5.0 සඳහා අර්ධ සහාය ක්රියාත්මක කර ඇත;
- එකතු කරන ලද කාර්යය __builtin_convertvector;
- අනතුරු ඇඟවීමක් එකතු කරන ලදී --ඇසුරුම්-සාමාජිකයාගේ ඇඳුම;
- පවතින අනතුරු ඇඟවීම් ගණනාවකට වැඩි දියුණු කිරීම්;
- මැක්රෝ එකකට වැරදි තර්ක සංඛ්යාවක් යැවීමේදී දෝෂ පෙළට දැන් මැක්රෝවේ ප්රකාශය ඇතුළත් වේ;
- මුද්රණ දෝෂ නිවැරදි කිරීමේ යෝජනා සඳහා වැඩි දියුණු කිරීම්.
C
- -std=c2x (අනාගත C සම්මත) සඳහා එක් තර්කයක් සමඟ _Static_assert සහාය;
- නව අනතුරු ඇඟවීමක් - නිරපේක්ෂ අගය, abs() වැනි ශ්රිත සඳහා වැරදි තර්ක වර්ගය අල්ලා ගනී.
සී ++
- නව අනතුරු ඇඟවීම්: -අවසාරණය කරන ලද-පිටපත,
-Winit-list-ජීවිත කාලය,
- අනවශ්ය චලනය,
-Wpessimizing-move,
-Wclass-පරිවර්තනය; - අනාගත ප්රමිතියෙන් නව විශේෂාංග ක්රියාත්මක කිරීමට කටයුතු කරමින් පවතී C++2a;
- ප්රපාතය දැන් ප්රභව කේත මූලද්රව්ය ගණනාවක් පිළිබඳ වඩාත් නිවැරදි තොරතුරු ගබඩා කරයි, එමඟින් ඔබට රෝග විනිශ්චය කිරීමේදී වඩාත් සවිස්තරාත්මක තොරතුරු ප්රදර්ශනය කිරීමට ඉඩ සලසයි;
- අධි බර වූ කාර්යයන්, ද්විමය ක්රියාකරුවන්, ශ්රිත ඇමතුම් සහ ආකෘති තන්තු සඳහා වැඩි දියුණු කළ රෝග විනිශ්චය;
- ජනප්රිය දෝෂ ගණනාවක් සඳහා (අතුරුදහන් වරහන්, නාම අවකාශයන්, යතුරු ලියනය වැරදි ආදිය) සඳහා සමහර සංවර්ධන පරිසරයන් විසින් සහාය දක්වන ස්වයංක්රීය නිවැරදි කිරීම් එකතු කරන ලදී.
libstdc++
- C++17 ක්රියාත්මක කිරීම තවදුරටත් පර්යේෂණාත්මක නොවේ;
- සමාන්තර ඇල්ගොරිතම එකතු කරන ලදි, , , ඒ තවදුරටත් -lstdc++fs අවශ්ය නොවේ;
- C++2a සඳහා වැඩිදියුණු කළ පර්යේෂණාත්මක සහාය ( , , std::bind_front, etc.);
- අකුරු නොවන අක්ෂර අඩංගු වන වින්ඩෝස් හි ගොනු ප්රවාහ විවෘත කිරීම සඳහා සහාය;
- මූලික සහාය වින්ඩෝස් මත;
- TS ජාලකරණය සඳහා මූලික සහාය.
D
D භාෂා අනුවාදය 2.076 GCC හි ඇතුළත් වේ.
ෆෝට්රාන්
- අසමමුහුර්ත 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