[PATCH] D148136: [clang] Add test for CWG1894 and CWG2199

Vlad Serebrennikov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 12 08:26:29 PDT 2023


Endill created this revision.
Endill added a reviewer: clang-language-wg.
Herald added a project: All.
Endill requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

P1787 <https://wg21.link/p1787>: CWG1894 and its duplicate CWG2199 are resolved per Richard’s proposal for “dr407 still leaves open questions about typedef / tag hiding” <https://listarchives.isocpp.org/cgi-bin/wg21/message?wg=core&msg=28415>, using generic conflicting-declaration rules even for typedef, and discarding a redundant typedef-name when looking up an elaborated-type-specifier.
Wording: See changes to [dcl.typedef], [basic.lookup.elab], and [basic.lookup]/4.

Generic conflicting-declaration rules are specified in changes to [basic.scope.scope]. CWG407 <https://cplusplus.github.io/CWG/issues/407.html>, CWG1894 <https://cplusplus.github.io/CWG/issues/1894.html>, and CWG2199 <https://cplusplus.github.io/CWG/issues/2199.html> discuss how elaborated type specifiers interact with typedef, using directives, and using declarations. Since existing test for CWG407 covers examples provided in CWG1894 and CWG2199, and does it in accordance with P1787 <https://reviews.llvm.org/P1787>, I reused it.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D148136

Files:
  clang/test/CXX/drs/dr18xx.cpp
  clang/test/CXX/drs/dr21xx.cpp
  clang/test/CXX/drs/dr4xx.cpp
  clang/www/cxx_dr_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148136.512841.patch
Type: text/x-patch
Size: 5401 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230412/eaba6b5d/attachment.bin>


More information about the cfe-commits mailing list