aboutsummaryrefslogtreecommitdiff
path: root/clang/docs
diff options
context:
space:
mode:
authorVlad Serebrennikov <serebrennikov.vladislav@gmail.com>2024-06-21 13:49:43 +0400
committerGitHub <noreply@github.com>2024-06-21 13:49:43 +0400
commitbc4d50f02ded9eea287daccf2b4a39ae5d30abd0 (patch)
treeafd9456b7133a4c1a35d56a48a90ba5cab923014 /clang/docs
parentaed989157ddcdaaf3fea295c449f23dffe327ae5 (diff)
downloadllvm-bc4d50f02ded9eea287daccf2b4a39ae5d30abd0.zip
llvm-bc4d50f02ded9eea287daccf2b4a39ae5d30abd0.tar.gz
llvm-bc4d50f02ded9eea287daccf2b4a39ae5d30abd0.tar.bz2
[clang] Implement CWG2877 "Type-only lookup for using-enum-declarator" (#95399)
This patch implements 2024-05-31 resolution of a tentatively ready issue [CWG2877](https://cplusplus.github.io/CWG/issues/2877.html) "Type-only lookup for using-enum-declarator", which supersedes earlier [CWG2621](https://cplusplus.github.io/CWG/issues/2621.html) "Kind of lookup for `using enum` declarations". Now we perform type-only lookup (not to be confused with type-only context) for `elaborated-enum-declarator`. This is the same kind of lookup that elaborated type specifiers and base specifiers undergo. I also found out (and fixed) that one of our existing tests claimed that a dependent type can be used in `elaborated-enum-declarator`, but that's not the case: > The [using-enum-declarator](http://eel.is/c++draft/enum.udecl#nt:using-enum-declarator) shall designate a non-dependent type with a reachable [enum-specifier](http://eel.is/c++draft/dcl.enum#nt:enum-specifier)[.](http://eel.is/c++draft/enum.udecl#1.sentence-2)
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/ReleaseNotes.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 88969a0..455c34b 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -287,6 +287,9 @@ Resolutions to C++ Defect Reports
- P0522 implementation is enabled by default in all language versions, and
provisional wording for CWG2398 is implemented.
+- Clang now performs type-only lookup for the name in ``using enum`` declaration.
+ (`CWG2877: Type-only lookup for using-enum-declarator <https://cplusplus.github.io/CWG/issues/2877.html>`_).
+
- Clang now requires a template argument list after a template keyword.
(`CWG96: Syntactic disambiguation using the template keyword <https://cplusplus.github.io/CWG/issues/96.html>`_).