https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118301

            Bug ID: 118301
           Summary: Feature request: CLI parament std with explicit
                    experimental values
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: benni.buch at gmail dot com
  Target Milestone: ---

I'm coming from:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104928

Currently you can set the C++ standard via -std=c++17/20/23... While C++17 is
officially supported, C++20 and higher are still experimental which means even
serious bugs like wrong code generation are not handled with the same priority
as similar bugs in C++17 and lower. 

Even professional users are already using C++20 and higher in production
because they are not aware that these modes are still experimental and don't
get the same level of support. You can blame the users for not reading the
documentation. 

On the other hand you can argue, that GCCs (and clangs) CLI interface is a bit
misleading, because stable and testing modes look exactly the same. MSVC will
introduce a c++23preview argument with 2022 17.13. I really like this idea,
because it makes the experimental character very clear to the user.

Changing GCCs current interface would be a bad idea, because it would break a
lot of existing code.

Therefore I propose to introduce c++20/23...preview arguments that have the
same effect as the current non-preview arguments. The current non-preview
arguments should continue to work, but print a warning to use the preview
arguments instead.

Reply via email to