GCC 9.1

మే 3న, GCC తొమ్మిదవ వెర్షన్ యొక్క మొదటి పబ్లిక్ విడుదల జరిగింది: GCC 9.1.
ఇది ఎనిమిదవదానితో పోలిస్తే అనేక ముఖ్యమైన మెరుగుదలలు మరియు జోడింపులను కలిగి ఉంది
సంస్కరణ: Telugu.

సాధారణ మార్పులు

ఎంపికలు
  • పరిమాణాన్ని అంగీకరించే ఆదేశాలు ఇప్పుడు 64-బిట్ విలువలు మరియు పరిమాణాన్ని పేర్కొనడానికి ప్రత్యయాలకు మద్దతు ఇస్తాయి;
  • ఎంపిక జోడించబడింది -ఫ్లైవ్-ప్యాచింగ్, డైనమిక్ కోడ్ రీప్లేస్‌మెంట్‌కు విధ్వంసకరంగా ఉండే ఆప్టిమైజేషన్‌లను నియంత్రించడానికి;
  • కమాండ్ షెల్‌లో ఆటో-కంప్లీషన్‌కు మద్దతు ఇవ్వడానికి --కంప్లీషన్ ఎంపిక జోడించబడింది;
  • కంపైలర్ డయాగ్నస్టిక్స్ ఇప్పుడు లైన్ నంబర్‌లను కలిగి ఉంది (-fno-diagnostics-షో-లైన్-సంఖ్యలు) మరియు
    సమాచారం రకం (fno-డయాగ్నోస్టిక్స్-షో-లేబుల్స్);
  • ఎంపిక జోడించబడింది -fdiagnostics-format=json JSON ఆకృతిలో డయాగ్నస్టిక్‌లను అవుట్‌పుట్ చేయడానికి;
  • అమరికను పేర్కొనడానికి ఎంపికలు (-ఫాలైన్-ఫంక్షన్స్, ఉదాహరణకు) ఇప్పుడు రెండు అమరిక ఎంపికలను అంగీకరించవచ్చు;
  • ఫైల్‌ల జాబితాను ఫిల్టర్ చేయడానికి ఎంపికలు జోడించబడ్డాయి (-fprofile-filter-files, -fprofile-exclude-files), ఇవి ప్రొఫైలర్ చేత వాయిద్యం చేయబడతాయి;
  • అడ్రస్ శానిటైజర్ ఇప్పుడు స్టాక్‌లోని వేరియబుల్స్‌కు చెల్లని యాక్సెస్‌లను క్యాచ్ చేయడానికి మరింత కాంపాక్ట్ అలైన్‌మెంట్‌ని ఉపయోగిస్తుంది;
  • అనేక అవుట్‌పుట్ మెరుగుదలలు -fopt-info;
  • ఎంపిక జోడించబడింది -fsave-ఆప్టిమైజేషన్-రికార్డ్ ఆప్టిమైజేషన్ నివేదికను ఫైల్‌లో సేవ్ చేయడానికి;
  • ఎంపిక జోడించబడింది -fipa-స్టాక్-అలైన్‌మెంట్ и -fipa-రిఫరెన్స్-అడ్రస్ చేయగల.
కొత్త అంతర్నిర్మిత లక్షణాలు
కొత్త లక్షణం
ఇతర

దీనికి సంబంధించిన అనేక కోడ్ ఉత్పత్తి మెరుగుదలలు:

  • స్విచ్ నిర్మాణాల తరం;
  • అంతర్-విధానపరమైన ఆప్టిమైజేషన్లు;
  • ప్రొఫైలింగ్ సమాచారం ఆధారంగా ఆప్టిమైజేషన్;
  • అసెంబ్లీ దశలో ఆప్టిమైజేషన్ (LTO);

అలాగే gcov యొక్క అంతర్గత ఆకృతి ఇప్పుడు JSON మరియు కొత్త ఎంపిక --ఉపయోగం-హాట్‌నెస్-రంగులు కోడ్ యొక్క రంగు పంక్తులు ఎంత తరచుగా ఉపయోగించబడుతున్నాయి అనే దాని ఆధారంగా ఉంటాయి.

భాషలు

అమలు యొక్క నాణ్యత మరియు పరిపూర్ణత OpenACC C, C++, మరియు Fortran భాషలు అభివృద్ధి చెందుతూనే ఉన్నాయి.

సి లాంటి భాషలు
  • OpenMP 5.0కి పాక్షిక మద్దతు అమలు చేయబడింది;
  • ఫీచర్ జోడించబడింది __బిల్టిన్_కన్వర్ట్‌వెక్టర్;
  • హెచ్చరిక జోడించబడింది -వాడ్డ్రెస్-ఆఫ్-ప్యాక్డ్-మెంబర్;
  • ఇప్పటికే ఉన్న అనేక హెచ్చరికలకు మెరుగుదలలు;
  • మాక్రోకు తప్పుడు ఆర్గ్యుమెంట్‌ల సంఖ్యను పంపుతున్నప్పుడు ఎర్రర్ టెక్స్ట్ ఇప్పుడు మాక్రో యొక్క డిక్లరేషన్‌ను కలిగి ఉంటుంది;
  • అక్షర దోష దిద్దుబాటు సూచనలకు మెరుగుదలలు.
C
  • -std=c2x (భవిష్యత్ C ప్రమాణం) కోసం ఒక ఆర్గ్యుమెంట్‌తో _Static_assert మద్దతు;
  • కొత్త హెచ్చరిక -అసంపూర్ణ-విలువ, ఇది abs() వంటి ఫంక్షన్‌ల కోసం తప్పు వాదన రకాన్ని క్యాచ్ చేస్తుంది.
C ++
  • కొత్త హెచ్చరికలు: -విస్మరించబడిన-కాపీ,
    -వినిట్-లిస్ట్-జీవితకాలం,
    -అవగాహన-కదలిక,
    -Wpessimizing-move,
    -Wclass-మార్పిడి;
  • భవిష్యత్ ప్రమాణాల నుండి కొత్త ఫీచర్లను అమలు చేయడానికి పని జరుగుతోంది C++2a;
  • ఫ్రంటెండ్ ఇప్పుడు అనేక సోర్స్ కోడ్ మూలకాల గురించి మరింత ఖచ్చితమైన సమాచారాన్ని నిల్వ చేస్తుంది, ఇది డయాగ్నస్టిక్స్‌లో మరింత వివరణాత్మక సమాచారాన్ని ప్రదర్శించడానికి మిమ్మల్ని అనుమతిస్తుంది;
  • ఓవర్‌లోడ్ చేయబడిన ఫంక్షన్‌లు, బైనరీ ఆపరేటర్‌లు, ఫంక్షన్ కాల్‌లు మరియు ఫార్మాట్ స్ట్రింగ్‌ల కోసం మెరుగైన డయాగ్నస్టిక్స్;
  • అనేక జనాదరణ పొందిన ఎర్రర్‌ల కోసం (తప్పిపోయిన కుండలీకరణాలు, నేమ్‌స్పేస్‌లు, అక్షరదోషాలు మొదలైనవి) కోసం కొన్ని డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్‌ల మద్దతుతో ఆటోమేటిక్ పరిష్కారాలు జోడించబడ్డాయి.
libstdc++
  • C++17 అమలు ఇకపై ప్రయోగాత్మకం కాదు;
  • సమాంతర అల్గోరిథంలు జోడించబడ్డాయి, , , ఎ ఇకపై -lstdc++fs అవసరం లేదు;
  • C++2a కోసం మెరుగైన ప్రయోగాత్మక మద్దతు ( , , std::bind_front, etc.);
  • Windowsలో ఫైల్ స్ట్రీమ్‌లను తెరవడానికి మద్దతు, దీని మార్గాలు నాన్-చార్ క్యారెక్టర్‌లను కలిగి ఉంటాయి;
  • ప్రారంభ మద్దతు Windowsలో;
  • నెట్‌వర్కింగ్ 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

ఇతర

అనేక ఆర్కిటెక్చర్- మరియు OS-నిర్దిష్ట మార్పులు.

మూలం: linux.org.ru

ఒక వ్యాఖ్యను జోడించండి