Më 3 maj, u zhvillua publikimi i parë i versionit të nëntë GCC: GCC 9.1.
Ai përmban një sërë përmirësimesh dhe shtesash thelbësore krahasuar me versionin e tetë.
Përgjigjet e komandave që pranojnë madhësinë tani mbështesin vlera 64-bit dhe sufixe për të treguar madhësinë;
Ndryshime të përgjithshme
Opsione
- -flive-patching
- Shtuar opsioni , për të menaxhuar optimizime që potencialisht janë destruktive për zëvendësimin dinamik të kodit;Shtuar opsioni --completion për të mbështetur auto-kompletimin në shell-in e komandës;
- Diagnozat e kompajlerit tani përfshijnë numra rreshtesh (
- -fno-diagnostics-show-line-numbersinformacion mbi llojet () dhe
fno-diagnostics-show-labels-fdiagnostics-format=json); - Shtuar opsioni për të dalë diagnozat në formatin JSON; Opsionet për të caktuar përputhshmërinë (
- -falign-functions, për shembull) tani mund të pranojnë një çift opsionesh përputhshmërie;Shtuar opsione për filtrimin e listës së skedarëve (
- -fprofile-filter-files-fprofile-exclude-files, ), të cilat nënshtrohen instrumentimit nga profiler-i;AddressSanitizer tani përdor përputhshmëri më kompakte për kapjen e aksesimeve të papërshtatshme në variablat në stack;
- Përmirësime të shumta në daljet
- -fsave-optimization-record -fopt-info;
- Shtuar opsioni për të ruajtur raportin e optimizimeve në një skedar; -fipa-stack-alignment
- Shtuar opsioni -fipa-reference-addressable dhe Funksione të reja të integruara.
Një atribut i ri
Përmirësime të shumta të gjenerimit të kodit të lidhura me:
- copy.
TĂ« tjera
gjenerimin e strukturave switch;
- optimizations ndërmjet procedurave;
- optimizimin e bazuar në informacionin për profilimin;
- optimizimin në fazën e ndërtimit (LTO);
- Për më tepër, formati i brendshëm gcov tani është JSON, dhe opsioni i ri
--use-hotness-colors përfshin ngjyrimin e rreshtave të kodit në varësi të frekuencës së përdorimit të tyre. Gjuhët
Cilësia dhe plotësia e zbatimit
OpenACC në gjuhët C, C++, dhe Fortran vazhdojnë të përmirësohen. Gjuhët si C
Mbështetje e pjesshme për OpenMP 5.0 e realizuar;
- __builtin_convertvector
- Shtesa e funksionit Shtuar paralajmërimin;
- Përmirësime në një sërë paralajmërimesh ekzistuese; -Waddress-of-packed-member;
- Teksti i gabimit kur kaloni numrin e papërshtatshëm të argumenteve në makro tani përfshin deklaratën e vetë makros;
- Përmirësime në propozimet për korrigjimin e gabimeve.
- Mbështetje për _Static_assert me një argument për -std=c2x (standardi i ardhshëm C);
C
- Një paralajmërim i ri
- , që kap tipin e gabuar të argumentit për funksione si abs(). -Wabsolute-valueParalajmërime të reja:
C++
- -Wdeprecated-copy -Winit-list-lifetime,
-Wredundant-move,
-Wpessimizing-move,
-Wclass-conversion,
Punë në zbatimin e mundësive të reja nga standardi i ardhshëm; - C++ 2a Frontend tani ruan informacion më të saktë mbi një sërë elementesh të kodit burimor, duke lejuar që të shfaqet informacion më i detajuar në diagnoza;;
- Përmirësime në diagnoza për funksionet e mbingarkuara, operatorët binarë, thirrjet e funksioneve dhe stringjet që përcaktojnë formatin;
- Shtuar korrigjime automatike të përkrahura nga disa mjedise zhvillimi për një sërë gabimesh të njohura (mungesa e ndihmës, hapësirat e emrave, gabime çfarëdo etj.).
- Shtohen korrigjimet automatik të mbështetur nga disa mjedise zhvillimi për një sërë gabimesh të njohura (mungesë e kornizave, emra hapësirash, shkrime të gabuara, etj.).
libstdc++
- Shtuar algoritme paralele, , , dhe tani nuk kërkon më -lstdc++fs;
- Përmirësuar mbështetje eksperimentale për C++ 2a (, , std::bind_front etj.);
- Mbështetje për hapjen e rrjedhave të skedarëve në Windows, të cilat përmbajnë simbole jashtë char;
- Mbështetje fillestare për në Windows;
- Mbështetje fillestare për Networking TS.
- Gjuha D versioni 2.076 është përfshirë në GCC.
D
Mbështetje e plotë për input/output asinkron;
Fortran
- Argumenti BACK për MINLOC dhe MAXLOC është realizuar;
- Funksionet FINDLOC dhe IS_CONTIGUOUS janë realizuar;
- Sintaksa për qasje në komponentët e numrave kompleksë: c%re dhe c%im është realizuar;
- Sintaksa str%len dhe a%kind është realizuar;
- Dëshmi të C janë realizuar dhe titulli ISO_Fortran_binding.h është realizuar;
- Kërkesat për rezultatet e funksioneve MAX dhe MIN janë lehtësuar kur një nga argumentet është NaN;
- -fdec-include
- Shtuar opsioni BUILTIN;
- Shtuar direktiva libgccjit.
gcc_jit_context_add_driver_option
- Shtesa e funksionit Më shumë ndryshime specifike për arkitekturë dhe OS..
TĂ« tjera
Më 3 maj, u zhvillua publikimi i parë i versionit të nëntë GCC: GCC 9.1. Ai përmban një sërë përmirësimesh dhe shtesash thelbësore krahasuar me versionin e tetë. Ndryshimet e përbashkëta Opsionet Komandat që pranojnë madhësinë tani mbështesin vlera 64-bit dhe sufixe për të treguar madhësinë; Shtuar opsioni -flive-patching, për të menaxhuar optimizimet, potencialisht destruktive për zëvendësimin dinamik të kodit; Shtuar opsioni --completion për mbështetje
Burimi: linux.org.ru

