diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-05-04 10:07:36 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-05-04 10:07:36 +0200 |
commit | 1c8e9bed9b9d46d479b83ae05b334543f66961fb (patch) | |
tree | f45aed122c2a325abe074685a84c1a80ffb21159 /gcc/cp/constexpr.cc | |
parent | 3771486daa1e904ceae6f3e135b28e58af33849f (diff) | |
download | gcc-1c8e9bed9b9d46d479b83ae05b334543f66961fb.zip gcc-1c8e9bed9b9d46d479b83ae05b334543f66961fb.tar.gz gcc-1c8e9bed9b9d46d479b83ae05b334543f66961fb.tar.bz2 |
c++: Don't emit deprecated warnings or unavailable errors on lambda declarations
On the following testcase, we emit deprecated warnings or unavailable errors
even on merge declarations of those lambdas (the dg-bogus directives), while
IMHO we should emit them only when something actually calls those lambdas.
The following patch temporarily disables that diagnostics during
maybe_add_lambda_conv_op.
PR2173R1 also says that ambiguity between attribute-specifier-seq at the
end of requires-clause and attribute-specifier-seq from lambda-expression
should be resolved to attribute-specifier-seq for the latter. Do we need
to do anything about that? I mean, can a valid requires-clause end with
an attribute-specifier-seq? Say operator int [[]] is valid primary
expression, but requires operator int [[]] isn't valid, nor is
requires operator int, no?
2022-05-04 Jakub Jelinek <jakub@redhat.com>
* lambda.cc: Include decl.h.
(maybe_add_lambda_conv_op): Temporarily override deprecated_state to
UNAVAILABLE_DEPRECATED_SUPPRESS.
* g++.dg/cpp23/lambda-attr1.C: New test.
* g++.dg/cpp23/lambda-attr2.C: New test.
Diffstat (limited to 'gcc/cp/constexpr.cc')
0 files changed, 0 insertions, 0 deletions