GCC 9.1


GCC 9.1

Më 3 Maj, u bë publik versioni i nëntë i GCC: GCC 9.1.
Ai përmban shumë përmirësime dhe shtesa të rëndësishme në krahasim me versionin e tetë.
versioni.

Ndryshimet e përgjithshme

Opsionet
  • Komandat qĂ« pranojnĂ« madhĂ«sinĂ« tani mbĂ«shtesin vlerat 64-bit dhe sufikset pĂ«r tĂ« caktuar madhĂ«sinĂ«;
  • ËshtĂ« shtuar opsioni -flive-patching, pĂ«r menaxhimin e optimizimeve qĂ« potencialisht janĂ« shkatĂ«rruese pĂ«r zĂ«vendĂ«simin dinamik tĂ« kodit;
  • Opsioni i ri —completion Ă«shtĂ« shtuar pĂ«r tĂ« mbĂ«shtetur auto-dopllim nĂ« shell-in e komandave;
  • Diagnosticat e kompilatorit tani pĂ«rfshijnĂ« numrat e rreshtave (-fno-diagnostics-show-line-numbers) dhe
    informacione për tipet (fno-diagnostics-show-labels);
  • ËshtĂ« shtuar opsioni -fdiagnostics-format=json pĂ«r tĂ« dalĂ« diagnosticat nĂ« formatin JSON;
  • Opsionet pĂ«r tĂ« caktuar pĂ«rputhjen (-falign-functions, pĂ«r shembull) tani mund tĂ« pranojnĂ« njĂ« çift variantesh pĂ«rputhjeje;
  • Opsionet pĂ«r filtrimin e listĂ«s sĂ« skedarĂ«ve (-fprofile-filter-files, -fprofile-exclude-files) qĂ« i nĂ«nshtrohen instrumentacionit nga profilizuesi janĂ« shtuar;
  • AddressSanitizer tani pĂ«rdor pĂ«rputhje mĂ« kompakte pĂ«r tĂ« kapur qasjet e pasakta nĂ« variablat nĂ« stack;
  • PĂ«rmirĂ«sime tĂ« shumta nĂ« daljen e -fopt-info;
  • ËshtĂ« shtuar opsioni -fsave-optimization-record pĂ«r tĂ« ruajtur raportin e optimizimeve nĂ« njĂ« skedar;
  • ËshtĂ« shtuar opsioni -fipa-stack-alignment dhe -fipa-reference-addressable.
Funksionet e reja të ndërtuara
Atributi i ri
Tjetër

Përmirësime të shumta në gjenerimin e kodit në lidhje me:

  • gjenerimin e struktura switch;
  • optimizations ndĂ«rprocedurale;
  • optimizimin e bazuar nĂ« informacione tĂ« profilizimit;
  • optimizimin nĂ« fazĂ«n e ndĂ«rtimit (LTO);

Po ashtu, 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 plotesia e zbatimit të OpenACC në gjuha C, C++, dhe Fortran vazhdojnë të përmirësohen.

Gjuhët C-podobne
  • MbĂ«shtetje e pjesshme pĂ«r OpenMP 5.0 Ă«shtĂ« zbatuar;
  • Shtuar funksionin __builtin_convertvector;
  • NjĂ« paralajmĂ«rim i ri Ă«shtĂ« shtuar -Waddress-of-packed-member;
  • PĂ«rmirĂ«sime nĂ« njĂ« numĂ«r paralajmĂ«rimesh ekzistuese;
  • Teksti i gabimit nĂ« kalimin e numrit tĂ« gabuar tĂ« argumenteve nĂ« makros tani pĂ«rfshin shpalljen e vetĂ« makros;
  • PĂ«rmirĂ«sime nĂ« propozimet pĂ«r korrigjimin e gabimeve.
C
  • MbĂ«shtetje pĂ«r _Static_assert me njĂ« argument pĂ«r -std=c2x (standardi i ardhshĂ«m C);
  • NjĂ« paralajmĂ«rim i ri -Wabsolute-value, i cili kap tipin e gabuar tĂ« argumentit pĂ«r funksione tĂ« tilla si abs().
C++
  • ParalajmĂ«rime tĂ« reja: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Po punohet punĂ« pĂ«r implementimin e mundĂ«sive tĂ« reja nga standardi i ardhshĂ«m C++ 2a;
  • Frontend-i tani ruan informacione mĂ« tĂ« sakta pĂ«r njĂ« sĂ«rĂ« elementesh tĂ« kodit burimor, duke lejuar shfaqjen e informacionit mĂ« tĂ« detajuar nĂ« diagnostikime;
  • Diagnostikimet janĂ« pĂ«rmirĂ«suar pĂ«r funksionet e mbivendosura, operatorĂ«t binarĂ«, thirrjet e funksioneve dhe stringjet qĂ« caktuan format;
  • Shtohen korrigjimet automatike tĂ« mbĂ«shtetura nga disa mjedise zhvillimi pĂ«r njĂ« sĂ«rĂ« gabimesh tĂ« njohura (mungesat e kllapave, hapĂ«sirat e emrave, gabimet e shtypit etj.).
libstdc++
  • Implementimi i C++17 nuk Ă«shtĂ« mĂ« eksperimental;
  • Shtohen algoritmet paralele, <execution>, <memory_resource>, dhe <filesystem> nuk kĂ«rkon mĂ« -lstdc++fs;
  • MbĂ«shtetje e pĂ«rmirĂ«suar eksperimentale pĂ«r C++ 2a (<bit>, <version>, std::bind_front etj.);
  • MbĂ«shtetje pĂ«r hapjen e rrjedhave tĂ« skedarĂ«ve nĂ« Windows, tĂ« cilat pĂ«rmbajnĂ« simbole qĂ« dalin jashtĂ« char;
  • MbĂ«shtetje fillestare pĂ«r <filesystem> nĂ« Windows;
  • MbĂ«shtetje fillestare pĂ«r Networking TS.
D

Gjuha D versioni 2.076 është e përfshirë në GCC.

Fortran
  • MbĂ«shtetje e plotĂ« pĂ«r hyrje/dalje asinkrone;
  • Realizimi i argumentit BACK pĂ«r MINLOC dhe MAXLOC;
  • Realizohen funksionet FINDLOC dhe IS_CONTIGUOUS;
  • Realizimi i sintaksĂ«s pĂ«r qasjen nĂ« pjesĂ«t pĂ«rbĂ«rĂ«se tĂ« numrave kompleksĂ«: c%re dhe c%im;
  • Realizimi i sintaksĂ«s str%len dhe a%kind;
  • Realizohen deskriptorĂ«t C dhe titulli ISO_Fortran_binding.h;
  • KĂ«rkesat pĂ«r rezultatet e funksioneve MAX dhe MIN janĂ« lehtĂ«suar, kur njĂ« nga argumentet Ă«shtĂ« NaN;
  • ËshtĂ« shtuar opsioni -fdec-include;
  • Shtuar direkativa BUILTIN.
libgccjit

Tjetër

Një sasi e madhe ndryshimesh specifike për arkitektura dhe OS.

Burimi: linux.org.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster