Geïnspireerd door de compiler-toolchain van Microsoft met een”std:c++latest”-optie voor het automatisch targeten van de nieuwste ondersteunde C++-specificatie, hebben GCC-compilerontwikkelaars de mogelijkheid besproken van een vergelijkbare functie met de mogelijkheid om-std=te specificeren. c++current voor de huidige C++-standaard of-std=c++future voor de toekomstige/conceptspecificatie.

Het idee is om GCC-ondersteuning”-std=c++current”te hebben, wat een bewegend doel zou zijn naar de huidige C++-specificatie die door de compiler wordt ondersteund, terwijl”-std=c++future”zou zijn voor het targeten van de huidige work-in-progress/draft C++ specificatie in huidige werkvorm. Er zouden ook vergelijkbare gnu++current/gnu++future-opties zijn voor de uitgebreide GNU C++-varianten.

Hoewel het idee leuk is, zijn er in de praktijk al enkele zorgen geuit over het feit dat dit een constant bewegend doelwit is en tot verwarring bij de gebruiker kan leiden. In het bijzonder, met ontwikkelaars/gebruikers die vaak een compiler gebruiken die een jaar of meerdere jaren oud kan zijn, zullen de”huidige”en”toekomstige”doelen verschillende C++-versies betekenen en niet noodzakelijkerwijs wat feitelijk het huidige/toekomstige doel is op het moment van gebruiken. Vooral op enterprise Linux-distributies waar gebruikers out-of-the-box een enkele jaar oude compiler kunnen gebruiken, zal het interpreteren van de betekenis van huidige/toekomstige niet noodzakelijkerwijs nauwkeurig zijn met wat de gebruiker verwacht.

Voorlopig worden de voorgestelde GCC-opties besproken in deze gcc-patches mailinglijstthread voor diegenen die geïnteresseerd zijn in de vooruitzichten van-std=c++current en-std=c++future.

Categories: IT Info