aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2024-01-30 17:11:34 -0500
committerMarek Polacek <polacek@redhat.com>2024-01-31 15:12:16 -0500
commitd836db149d439658cb98688f3f5c6ed58446e333 (patch)
tree237a1bc4bf6f6b5932e51dd9629c27743c216bcf /gcc
parentf6ba433d3c30c20fadd393eed31617a4da81789c (diff)
downloadgcc-d836db149d439658cb98688f3f5c6ed58446e333.zip
gcc-d836db149d439658cb98688f3f5c6ed58446e333.tar.gz
gcc-d836db149d439658cb98688f3f5c6ed58446e333.tar.bz2
c++: add deprecation notice for -fconcepts-ts
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/c-opts.cc5
-rw-r--r--gcc/doc/invoke.texi4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
index b38a122..b845aff 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 eb931b9..ca2c0e9 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}