GCC 9.1


GCC 9.1

Ar Fai 3, cyhoeddwyd y nawfed fersiwn o GCC am y tro cyntaf: GCC 9.1.
Mae ynddo lawer o welliantau ac ychwanegiadau sylweddol o'i gymharu â'r wythfed
fersiwn.

Newidiadau cyffredinol

Opsiynau
Nodweddion adeiledig newydd
Priodoledd newydd
eraill

Gwelliannau cynhyrchu cod niferus yn ymwneud â:

  • cynhyrchu switshis;
  • optimeiddio rhyng-weithdrefnol;
  • optimeiddio yn seiliedig ar wybodaeth broffilio;
  • optimeiddio yn y cam cydosod (LTO);

Hefyd fformat mewnol gcov bellach yw JSON a'r opsiwn newydd --defnyddio-hotness-lliwiau yn cynnwys lliwio llinellau cod yn seiliedig ar ba mor aml y cânt eu defnyddio.

Ieithoedd

Ansawdd a chyflawnder y gweithredu AgoredACC mae'r ieithoedd C, C++, a Fortran yn parhau i wella.

Ieithoedd tebyg i C
  • Mae cefnogaeth rannol ar gyfer OpenMP 5.0 wedi'i weithredu;
  • Nodwedd ychwanegol __builtin_convertvector;
  • Ychwanegwyd rhybudd -Waddress-of-packed-aelod;
  • Gwelliannau i nifer o rybuddion presennol;
  • Mae'r testun gwall wrth drosglwyddo'r nifer anghywir o ddadleuon i macro bellach yn cynnwys datganiad y macro ei hun;
  • Gwelliannau i awgrymiadau cywiro teipo.
C
  • Cefnogi _Static_assert gydag un ddadl ar gyfer -std = c2x (safon C yn y dyfodol);
  • Rhybudd newydd -Wabsolute-gwerth, sy'n dal y math dadl anghywir ar gyfer swyddogaethau fel abs().
C + +
  • Rhybuddion newydd: -Wdeprecated-copi,
    -Winit-rhestr-oes,
    -Wredundant-symud,
    -Wpessimizing-symud,
    -Wclass-trosi;
  • Mae gwaith yn mynd rhagddo i weithredu nodweddion newydd o safon y dyfodol C++2a;
  • Mae'r frontend bellach yn storio gwybodaeth fwy cywir am nifer o elfennau cod ffynhonnell, sy'n eich galluogi i arddangos gwybodaeth fanylach mewn diagnosteg;
  • Gwell diagnosteg ar gyfer swyddogaethau gorlwytho, gweithredwyr deuaidd, galwadau swyddogaeth, a llinynnau fformat;
  • Ychwanegwyd atgyweiriadau awtomatig, wedi'u hategu gan rai amgylcheddau datblygu, ar gyfer nifer o wallau poblogaidd (cromfachau coll, bylchau enwau, teipiau, ac ati).
libstdc++
  • Nid yw gweithrediad C++17 bellach yn arbrofol;
  • Ychwanegwyd algorithmau cyfochrog, , , A nid oes angen -lstdc++fs mwyach;
  • Gwell cefnogaeth arbrofol ar gyfer C++2a ( , , std::bind_front, ac ati);
  • Cefnogaeth ar gyfer agor ffrydiau ffeil ar Windows y mae eu llwybrau'n cynnwys nodau nad ydynt yn golosg;
  • Cefnogaeth gychwynnol ar Windows;
  • Cefnogaeth gychwynnol ar gyfer Rhwydweithio TS.
D

Mae fersiwn iaith D 2.076 wedi'i chynnwys yn GCC.

Fortran
  • Cefnogaeth lawn i I/O asyncronaidd;
  • Gweithredu dadl BACK ar gyfer MINLOC a MAXLOC;
  • Gweithredu swyddogaethau FINDLOC ac IS_CONTIGOUS;
  • Gweithredwyd y gystrawen ar gyfer cyrchu cydrannau rhifau cymhlyg: c%re a c%im;
  • Gweithredwyd cystrawen str%len a%math;
  • Wedi gweithredu disgrifyddion C a phennawd ISO_Fortran_binding.h;
  • Mae'r gofynion ar gyfer canlyniad y swyddogaethau MAX a MIN wedi'u llacio pan mai NaN yw un o'r dadleuon;
  • Ychwanegwyd opsiwn -fdec-cynnwys;
  • Ychwanegwyd y Gyfarwyddeb BUILTIN.
libgccjit

eraill

Llawer o newidiadau pensaernïaeth ac OS-benodol.

Ffynhonnell: linux.org.ru

Ychwanegu sylw