Programmering

GCC GNU-kompilator legger til C ++ 17-støtte

Med 7.1-versjonen av GCC (GNU Compiler Collection), utgitt denne uken, får plattformen tidlig støtte for C ++ 17-standarden og diagnostikkforbedringer.

Versjon 7.1 har en C ++ frontend med eksperimentell støtte for alle C ++ 17 utkastsspesifikasjonene. De -std = c ++ 1z og -std = gnu ++ 1z alternativer og libstdc ++ støttes, og biblioteket har de fleste C ++ 17 utkast til biblioteksfunksjoner implementert. Den tidligere GCC 6.1-utgivelsen overholdt C ++ 14-standarden.

GCC 7-serien skiller seg fra tidligere utgivelser ved å bruke LRA (Local Register Allocator) som standard for nye mål og avskaffe Cilk + -utvidelser til C og C ++ språk. Noen oppførsel har også blitt avslappet for å forbedre kompilering eller kjøretidsytelse. Imidlertid kan noen endringer "forårsake sorg" når de porteres til GCC 7, ifølge utgivelsesmerknader, som siterer preprosessor- og C-problemer, samt C ++ språkproblemer, for eksempel strengere regler for maler. "GCC 7 godtar ikke lenger forskjellige dårlige konstruksjoner som involverer bruk av maler," står det i notatene.

GCC 7.1 øker også utsendt diagnostikk, inkludert forbedrede lokasjoner, og forbedringer av optimizer vises i alle intra- og interprosedural-optimaliseringer, koblingstidsoptimaliseringer og forskjellige mål-bakenden, som tillegg av fusjonskort for butikk, optimalisering av kodeheising, sløyfedeling og forbedringer av krympepakning. I tillegg kan GCCs adressesanitizer nå rapportere bruk av variabler etter at de har forlatt omfanget. GCC kan konfigureres for avlasting av OpenMP API til Nvidia PTX GPGPUer, men noen koder som er samlet med eldre GCC-versjoner, kan trenge justeringer. Samlingen inkluderer frontender for C, C ++, Objective-C, Fortran, Ada og Go.

$config[zx-auto] not found$config[zx-overlay] not found