[Bug c++/93149] New: -fno-concepts silently ignored in c++2a mode

nathan at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jan 3 20:05:00 GMT 2020


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

            Bug ID: 93149
           Summary: -fno-concepts silently ignored in c++2a mode
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

In testing something out, I discovered that '-std=c++2a -fno-concepts' is
concept-enabled.

template<typename T>
requires (sizeof (T) > 1)
void frob (T);

nathans@devvm2772:306>./cc1plus conc.cc -quiet -std=c++2a
nathans@devvm2772:307>./cc1plus conc.cc -quiet -std=c++2a -fno-concepts
nathans@devvm2772:308>./cc1plus conc.cc -quiet -std=c++17 -fno-concepts
conc.cc:2:10: error: expected constructor, destructor, or type conversion
before '(' token
    2 | requires (sizeof (T) > 1)
      |          ^

I expected either:
1) a warning telling me -fno-concepts had no effect with -std=c++2a
2) concepts disabled, in a similar manner to -fno-rtti and -fno-exceptions


More information about the Gcc-bugs mailing list