public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] c++: add deprecation notice for -fconcepts-ts
@ 2024-01-30 23:18 Marek Polacek
  2024-01-31  8:40 ` Richard Biener
  0 siblings, 1 reply; 9+ messages in thread
From: Marek Polacek @ 2024-01-30 23:18 UTC (permalink / raw)
  To: GCC Patches, Jason Merrill

Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?

-- >8 --
We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
code.  This note is an admonishing reminder to convert the Concepts TS
code to C++20 Concepts.

gcc/c-family/ChangeLog:

	* c-opts.cc (c_common_post_options): Add an inform saying that
	-fconcepts-ts will be deprecated in GCC 15.
---
 gcc/c-family/c-opts.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index b38a1225ac4..4cb69c6aefc 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -1139,6 +1139,11 @@ c_common_post_options (const char **pfilename)
   if (cxx_dialect >= cxx20 || flag_concepts_ts)
     flag_concepts = 1;
 
+  /* -fconcepts-ts will be deprecated in GCC 15.  */
+  if (flag_concepts_ts)
+    inform (input_location, "%<-fconcepts-ts%> will be deprecated in GCC 15; "
+	    "please convert your code to C++20 concepts");
+
   /* -fimmediate-escalation has no effect when immediate functions are not
      supported.  */
   if (flag_immediate_escalation && cxx_dialect < cxx20)

base-commit: f2061b2a9641c2228d4e2d86f19532ad7e93d627
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] c++: add deprecation notice for -fconcepts-ts
  2024-01-30 23:18 [PATCH] c++: add deprecation notice for -fconcepts-ts Marek Polacek
@ 2024-01-31  8:40 ` Richard Biener
  2024-01-31 13:53   ` Jason Merrill
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Biener @ 2024-01-31  8:40 UTC (permalink / raw)
  To: Marek Polacek; +Cc: GCC Patches, Jason Merrill

On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
>
> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
>
> -- >8 --
> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
> code.  This note is an admonishing reminder to convert the Concepts TS
> code to C++20 Concepts.

What does "deprecated in GCC 15" mean?  Given you output the notice with
GCC 14 it would be better to state when it's going to be removed -
it's effectively
"deprecated" right now then?  Or will it continue to "work" forever
until it bitrots?

> gcc/c-family/ChangeLog:
>
>         * c-opts.cc (c_common_post_options): Add an inform saying that
>         -fconcepts-ts will be deprecated in GCC 15.
> ---
>  gcc/c-family/c-opts.cc | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
> index b38a1225ac4..4cb69c6aefc 100644
> --- a/gcc/c-family/c-opts.cc
> +++ b/gcc/c-family/c-opts.cc
> @@ -1139,6 +1139,11 @@ c_common_post_options (const char **pfilename)
>    if (cxx_dialect >= cxx20 || flag_concepts_ts)
>      flag_concepts = 1;
>
> +  /* -fconcepts-ts will be deprecated in GCC 15.  */
> +  if (flag_concepts_ts)
> +    inform (input_location, "%<-fconcepts-ts%> will be deprecated in GCC 15; "
> +           "please convert your code to C++20 concepts");
> +
>    /* -fimmediate-escalation has no effect when immediate functions are not
>       supported.  */
>    if (flag_immediate_escalation && cxx_dialect < cxx20)
>
> base-commit: f2061b2a9641c2228d4e2d86f19532ad7e93d627
> --
> 2.43.0
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] c++: add deprecation notice for -fconcepts-ts
  2024-01-31  8:40 ` Richard Biener
@ 2024-01-31 13:53   ` Jason Merrill
  2024-01-31 13:55     ` Richard Biener
  2024-01-31 15:55     ` [PATCH v2] " Marek Polacek
  0 siblings, 2 replies; 9+ messages in thread
From: Jason Merrill @ 2024-01-31 13:53 UTC (permalink / raw)
  To: Richard Biener, Marek Polacek; +Cc: GCC Patches

On 1/31/24 03:40, Richard Biener wrote:
> On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
>>
>> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
>>
>> -- >8 --
>> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
>> code.  This note is an admonishing reminder to convert the Concepts TS
>> code to C++20 Concepts.
> 
> What does "deprecated in GCC 15" mean?  Given you output the notice with
> GCC 14 it would be better to state when it's going to be removed -
> it's effectively
> "deprecated" right now then?  Or will it continue to "work" forever
> until it bitrots?

Agreed, it's deprecated now.  We talked about it having no effect in GCC 
15; the message could say that.  Or we could leave it vague and just say 
it's deprecated.

Please also update invoke.texi.

Jason


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 13:53   ` Jason Merrill
@ 2024-01-31 13:55     ` Richard Biener
  2024-01-31 15:37       ` Jason Merrill
  2024-01-31 15:55     ` [PATCH v2] " Marek Polacek
  1 sibling, 1 reply; 9+ messages in thread
From: Richard Biener @ 2024-01-31 13:55 UTC (permalink / raw)
  To: Jason Merrill; +Cc: Marek Polacek, GCC Patches

On Wed, Jan 31, 2024 at 2:53 PM Jason Merrill <jason@redhat.com> wrote:
>
> On 1/31/24 03:40, Richard Biener wrote:
> > On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
> >>
> >> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> >>
> >> -- >8 --
> >> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
> >> code.  This note is an admonishing reminder to convert the Concepts TS
> >> code to C++20 Concepts.
> >
> > What does "deprecated in GCC 15" mean?  Given you output the notice with
> > GCC 14 it would be better to state when it's going to be removed -
> > it's effectively
> > "deprecated" right now then?  Or will it continue to "work" forever
> > until it bitrots?
>
> Agreed, it's deprecated now.  We talked about it having no effect in GCC
> 15; the message could say that.  Or we could leave it vague and just say
> it's deprecated.
>
> Please also update invoke.texi.

Btw, should -std=c++20 -fconcepts-ts be rejected?  I suppose -std=c++20
enables -fconcepts by default, it also seems to accept -std=c++20
-fno-concepts ...

Richard.

>
> Jason
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 13:55     ` Richard Biener
@ 2024-01-31 15:37       ` Jason Merrill
  0 siblings, 0 replies; 9+ messages in thread
From: Jason Merrill @ 2024-01-31 15:37 UTC (permalink / raw)
  To: Richard Biener; +Cc: Marek Polacek, GCC Patches

On 1/31/24 08:55, Richard Biener wrote:
> On Wed, Jan 31, 2024 at 2:53 PM Jason Merrill <jason@redhat.com> wrote:
>>
>> On 1/31/24 03:40, Richard Biener wrote:
>>> On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
>>>>
>>>> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
>>>>
>>>> -- >8 --
>>>> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
>>>> code.  This note is an admonishing reminder to convert the Concepts TS
>>>> code to C++20 Concepts.
>>>
>>> What does "deprecated in GCC 15" mean?  Given you output the notice with
>>> GCC 14 it would be better to state when it's going to be removed -
>>> it's effectively
>>> "deprecated" right now then?  Or will it continue to "work" forever
>>> until it bitrots?
>>
>> Agreed, it's deprecated now.  We talked about it having no effect in GCC
>> 15; the message could say that.  Or we could leave it vague and just say
>> it's deprecated.
>>
>> Please also update invoke.texi.
> 
> Btw, should -std=c++20 -fconcepts-ts be rejected?

No, that makes sense, it means C++20 plus the TS extensions that didn't 
make it into the standard.

> I suppose -std=c++20 enables -fconcepts by default, it also seems to accept -std=c++20
> -fno-concepts ...

I don't know why anyone would do that, but I don't see a reason to 
prohibit it either.

Jason


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 13:53   ` Jason Merrill
  2024-01-31 13:55     ` Richard Biener
@ 2024-01-31 15:55     ` Marek Polacek
  2024-01-31 19:00       ` Jason Merrill
  1 sibling, 1 reply; 9+ messages in thread
From: Marek Polacek @ 2024-01-31 15:55 UTC (permalink / raw)
  To: Jason Merrill; +Cc: Richard Biener, GCC Patches

On Wed, Jan 31, 2024 at 08:53:00AM -0500, Jason Merrill wrote:
> On 1/31/24 03:40, Richard Biener wrote:
> > On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
> > > 
> > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> > > 
> > > -- >8 --
> > > We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
> > > code.  This note is an admonishing reminder to convert the Concepts TS
> > > code to C++20 Concepts.
> > 
> > What does "deprecated in GCC 15" mean?  Given you output the notice with
> > GCC 14 it would be better to state when it's going to be removed -
> > it's effectively
> > "deprecated" right now then?  Or will it continue to "work" forever
> > until it bitrots?

Sorry for the wrong choice of words.  I meant deprecated now, removed later.
 
> Agreed, it's deprecated now.  We talked about it having no effect in GCC 15;
> the message could say that.  Or we could leave it vague and just say it's
> deprecated.
> 
> Please also update invoke.texi.

Like this?

-- >8 --
We plan to remove -fconcepts-ts in GCC 15 and thus remove the flag_concepts_ts
code.  This note is an admonishing reminder to convert the Concepts TS
code to C++20 Concepts.

gcc/c-family/ChangeLog:

	* c-opts.cc (c_common_post_options): Add an inform saying that
	-fconcepts-ts is deprecated and will be removed in GCC 15.

gcc/ChangeLog:

	* doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14.
---
 gcc/c-family/c-opts.cc | 5 +++++
 gcc/doc/invoke.texi    | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index b38a1225ac4..b845aff2226 100644
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -1139,6 +1139,11 @@ c_common_post_options (const char **pfilename)
   if (cxx_dialect >= cxx20 || flag_concepts_ts)
     flag_concepts = 1;
 
+  /* -fconcepts-ts will be removed in GCC 15.  */
+  if (flag_concepts_ts)
+    inform (input_location, "%<-fconcepts-ts%> is deprecated and will be "
+	    "removed in GCC 15; please convert your code to C++20 concepts");
+
   /* -fimmediate-escalation has no effect when immediate functions are not
      supported.  */
   if (flag_immediate_escalation && cxx_dialect < cxx20)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index eb931b984e8..ca2c0e90452 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3204,7 +3204,9 @@ the language standard, so @option{-fconcepts} defaults to on.
 Some constructs that were allowed by the earlier C++ Extensions for
 Concepts Technical Specification, ISO 19217 (2015), but didn't make it
 into the standard, can additionally be enabled by
-@option{-fconcepts-ts}.
+@option{-fconcepts-ts}.  The option @option{-fconcepts-ts} was deprecated
+in GCC 14 and may be removed in GCC 15; users are expected to convert
+their code to C++20 concepts.
 
 @opindex fconstexpr-depth
 @item -fconstexpr-depth=@var{n}

base-commit: f7935beef7b02fbba0adf33fb2ba5c0a27d7e9ff
-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 15:55     ` [PATCH v2] " Marek Polacek
@ 2024-01-31 19:00       ` Jason Merrill
  2024-01-31 19:07         ` Marek Polacek
  0 siblings, 1 reply; 9+ messages in thread
From: Jason Merrill @ 2024-01-31 19:00 UTC (permalink / raw)
  To: Marek Polacek; +Cc: Richard Biener, GCC Patches

On 1/31/24 10:55, Marek Polacek wrote:
> On Wed, Jan 31, 2024 at 08:53:00AM -0500, Jason Merrill wrote:
>> On 1/31/24 03:40, Richard Biener wrote:
>>> On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
>>>>
>>>> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
>>>>
>>>> -- >8 --
>>>> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
>>>> code.  This note is an admonishing reminder to convert the Concepts TS
>>>> code to C++20 Concepts.
>>>
>>> What does "deprecated in GCC 15" mean?  Given you output the notice with
>>> GCC 14 it would be better to state when it's going to be removed -
>>> it's effectively
>>> "deprecated" right now then?  Or will it continue to "work" forever
>>> until it bitrots?
> 
> Sorry for the wrong choice of words.  I meant deprecated now, removed later.
>   
>> Agreed, it's deprecated now.  We talked about it having no effect in GCC 15;
>> the message could say that.  Or we could leave it vague and just say it's
>> deprecated.
>>
>> Please also update invoke.texi.
> 
> Like this?

Hmm, I'm not sure whether we want to actually remove the option or just 
the support, as with -fcilkplus.  I was assuming the latter, in which 
case the patch could use some further rewording, but perhaps in the case 
of extensions like this (and Cilk+) it makes sense to actually remove 
the option.  Any other opinions?

> -- >8 --
> We plan to remove -fconcepts-ts in GCC 15 and thus remove the flag_concepts_ts
> code.  This note is an admonishing reminder to convert the Concepts TS
> code to C++20 Concepts.
> 
> gcc/c-family/ChangeLog:
> 
> 	* c-opts.cc (c_common_post_options): Add an inform saying that
> 	-fconcepts-ts is deprecated and will be removed in GCC 15.
> 
> gcc/ChangeLog:
> 
> 	* doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14.
> ---
>   gcc/c-family/c-opts.cc | 5 +++++
>   gcc/doc/invoke.texi    | 4 +++-
>   2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
> index b38a1225ac4..b845aff2226 100644
> --- a/gcc/c-family/c-opts.cc
> +++ b/gcc/c-family/c-opts.cc
> @@ -1139,6 +1139,11 @@ c_common_post_options (const char **pfilename)
>     if (cxx_dialect >= cxx20 || flag_concepts_ts)
>       flag_concepts = 1;
>   
> +  /* -fconcepts-ts will be removed in GCC 15.  */
> +  if (flag_concepts_ts)
> +    inform (input_location, "%<-fconcepts-ts%> is deprecated and will be "
> +	    "removed in GCC 15; please convert your code to C++20 concepts");
> +
>     /* -fimmediate-escalation has no effect when immediate functions are not
>        supported.  */
>     if (flag_immediate_escalation && cxx_dialect < cxx20)
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index eb931b984e8..ca2c0e90452 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -3204,7 +3204,9 @@ the language standard, so @option{-fconcepts} defaults to on.
>   Some constructs that were allowed by the earlier C++ Extensions for
>   Concepts Technical Specification, ISO 19217 (2015), but didn't make it
>   into the standard, can additionally be enabled by
> -@option{-fconcepts-ts}.
> +@option{-fconcepts-ts}.  The option @option{-fconcepts-ts} was deprecated
> +in GCC 14 and may be removed in GCC 15; users are expected to convert
> +their code to C++20 concepts.
>   
>   @opindex fconstexpr-depth
>   @item -fconstexpr-depth=@var{n}
> 
> base-commit: f7935beef7b02fbba0adf33fb2ba5c0a27d7e9ff


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 19:00       ` Jason Merrill
@ 2024-01-31 19:07         ` Marek Polacek
  2024-01-31 19:26           ` Jason Merrill
  0 siblings, 1 reply; 9+ messages in thread
From: Marek Polacek @ 2024-01-31 19:07 UTC (permalink / raw)
  To: Jason Merrill; +Cc: Richard Biener, GCC Patches

On Wed, Jan 31, 2024 at 02:00:18PM -0500, Jason Merrill wrote:
> On 1/31/24 10:55, Marek Polacek wrote:
> > On Wed, Jan 31, 2024 at 08:53:00AM -0500, Jason Merrill wrote:
> > > On 1/31/24 03:40, Richard Biener wrote:
> > > > On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
> > > > > 
> > > > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> > > > > 
> > > > > -- >8 --
> > > > > We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
> > > > > code.  This note is an admonishing reminder to convert the Concepts TS
> > > > > code to C++20 Concepts.
> > > > 
> > > > What does "deprecated in GCC 15" mean?  Given you output the notice with
> > > > GCC 14 it would be better to state when it's going to be removed -
> > > > it's effectively
> > > > "deprecated" right now then?  Or will it continue to "work" forever
> > > > until it bitrots?
> > 
> > Sorry for the wrong choice of words.  I meant deprecated now, removed later.
> > > Agreed, it's deprecated now.  We talked about it having no effect in GCC 15;
> > > the message could say that.  Or we could leave it vague and just say it's
> > > deprecated.
> > > 
> > > Please also update invoke.texi.
> > 
> > Like this?
> 
> Hmm, I'm not sure whether we want to actually remove the option or just the
> support, as with -fcilkplus.  I was assuming the latter, in which case the
> patch could use some further rewording, but perhaps in the case of
> extensions like this (and Cilk+) it makes sense to actually remove the
> option.  Any other opinions?

I assumed that we'd turn fconcepts-ts into "Ignore", since we've kept
even options like fdeduce-init-list or ffor-scope around.

I suppose in GCC 15 it should be marked as WarnRemoved, but fcilkplus isn't
WarnRemoved, so I'm not sure.

Should I have said "ignored in GCC 15"?
 
> > -- >8 --
> > We plan to remove -fconcepts-ts in GCC 15 and thus remove the flag_concepts_ts
> > code.  This note is an admonishing reminder to convert the Concepts TS
> > code to C++20 Concepts.
> > 
> > gcc/c-family/ChangeLog:
> > 
> > 	* c-opts.cc (c_common_post_options): Add an inform saying that
> > 	-fconcepts-ts is deprecated and will be removed in GCC 15.
> > 
> > gcc/ChangeLog:
> > 
> > 	* doc/invoke.texi: Mention that -fconcepts-ts was deprecated in GCC 14.
> > ---
> >   gcc/c-family/c-opts.cc | 5 +++++
> >   gcc/doc/invoke.texi    | 4 +++-
> >   2 files changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
> > index b38a1225ac4..b845aff2226 100644
> > --- a/gcc/c-family/c-opts.cc
> > +++ b/gcc/c-family/c-opts.cc
> > @@ -1139,6 +1139,11 @@ c_common_post_options (const char **pfilename)
> >     if (cxx_dialect >= cxx20 || flag_concepts_ts)
> >       flag_concepts = 1;
> > +  /* -fconcepts-ts will be removed in GCC 15.  */
> > +  if (flag_concepts_ts)
> > +    inform (input_location, "%<-fconcepts-ts%> is deprecated and will be "
> > +	    "removed in GCC 15; please convert your code to C++20 concepts");
> > +
> >     /* -fimmediate-escalation has no effect when immediate functions are not
> >        supported.  */
> >     if (flag_immediate_escalation && cxx_dialect < cxx20)
> > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> > index eb931b984e8..ca2c0e90452 100644
> > --- a/gcc/doc/invoke.texi
> > +++ b/gcc/doc/invoke.texi
> > @@ -3204,7 +3204,9 @@ the language standard, so @option{-fconcepts} defaults to on.
> >   Some constructs that were allowed by the earlier C++ Extensions for
> >   Concepts Technical Specification, ISO 19217 (2015), but didn't make it
> >   into the standard, can additionally be enabled by
> > -@option{-fconcepts-ts}.
> > +@option{-fconcepts-ts}.  The option @option{-fconcepts-ts} was deprecated
> > +in GCC 14 and may be removed in GCC 15; users are expected to convert
> > +their code to C++20 concepts.
> >   @opindex fconstexpr-depth
> >   @item -fconstexpr-depth=@var{n}
> > 
> > base-commit: f7935beef7b02fbba0adf33fb2ba5c0a27d7e9ff
> 

Marek


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] c++: add deprecation notice for -fconcepts-ts
  2024-01-31 19:07         ` Marek Polacek
@ 2024-01-31 19:26           ` Jason Merrill
  0 siblings, 0 replies; 9+ messages in thread
From: Jason Merrill @ 2024-01-31 19:26 UTC (permalink / raw)
  To: Marek Polacek; +Cc: Richard Biener, GCC Patches

On 1/31/24 14:07, Marek Polacek wrote:
> On Wed, Jan 31, 2024 at 02:00:18PM -0500, Jason Merrill wrote:
>> On 1/31/24 10:55, Marek Polacek wrote:
>>> On Wed, Jan 31, 2024 at 08:53:00AM -0500, Jason Merrill wrote:
>>>> On 1/31/24 03:40, Richard Biener wrote:
>>>>> On Wed, Jan 31, 2024 at 12:19 AM Marek Polacek <polacek@redhat.com> wrote:
>>>>>>
>>>>>> Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
>>>>>>
>>>>>> -- >8 --
>>>>>> We plan to deprecate -fconcepts-ts in GCC 15 and remove the flag_concepts_ts
>>>>>> code.  This note is an admonishing reminder to convert the Concepts TS
>>>>>> code to C++20 Concepts.
>>>>>
>>>>> What does "deprecated in GCC 15" mean?  Given you output the notice with
>>>>> GCC 14 it would be better to state when it's going to be removed -
>>>>> it's effectively
>>>>> "deprecated" right now then?  Or will it continue to "work" forever
>>>>> until it bitrots?
>>>
>>> Sorry for the wrong choice of words.  I meant deprecated now, removed later.
>>>> Agreed, it's deprecated now.  We talked about it having no effect in GCC 15;
>>>> the message could say that.  Or we could leave it vague and just say it's
>>>> deprecated.
>>>>
>>>> Please also update invoke.texi.
>>>
>>> Like this?
>>
>> Hmm, I'm not sure whether we want to actually remove the option or just the
>> support, as with -fcilkplus.  I was assuming the latter, in which case the
>> patch could use some further rewording, but perhaps in the case of
>> extensions like this (and Cilk+) it makes sense to actually remove the
>> option.  Any other opinions?
> 
> I assumed that we'd turn fconcepts-ts into "Ignore", since we've kept
> even options like fdeduce-init-list or ffor-scope around.
> 
> I suppose in GCC 15 it should be marked as WarnRemoved, but fcilkplus isn't
> WarnRemoved, so I'm not sure.
> 
> Should I have said "ignored in GCC 15"?

WarnRemoved sounds right, and since that also says "removed" the patch 
is OK as is.

Jason


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-01-31 19:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-30 23:18 [PATCH] c++: add deprecation notice for -fconcepts-ts Marek Polacek
2024-01-31  8:40 ` Richard Biener
2024-01-31 13:53   ` Jason Merrill
2024-01-31 13:55     ` Richard Biener
2024-01-31 15:37       ` Jason Merrill
2024-01-31 15:55     ` [PATCH v2] " Marek Polacek
2024-01-31 19:00       ` Jason Merrill
2024-01-31 19:07         ` Marek Polacek
2024-01-31 19:26           ` Jason Merrill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).