[PATCH] D153542: [C++20][Modules] Implement P2615R1 exported specialization diagnostics.

Iain Sandoe via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 22 06:12:15 PDT 2023


iains created this revision.
Herald added a subscriber: ChuanqiXu.
Herald added a project: All.
iains added a reviewer: ChuanqiXu.
iains added subscribers: clang-modules, h-vetinari.
iains published this revision for review.
iains added a comment.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

I think it is a good idea to keep this part of P2615R1 separate from the unnamed exports diagnostics [the parent commit] - it seems likely that there will be more fallout from this (given that there were already PRs about the behaviour of exported specialisations).


P2615R1 introduces diagnostics for partial and explicit specializations in module export declarations. This is applied as a DR to C++20.

Two testcases are removed since they were testing behaviour of imported specialisations (which are no longer permitted as exports).
Three testcases are amended to remove exports of specialisations, but retain the remainder of the test.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153542

Files:
  clang/include/clang/Basic/DiagnosticSemaKinds.td
  clang/lib/Sema/SemaModule.cpp
  clang/test/CXX/module/module.interface/p1-p2615r1.cpp
  clang/test/CXX/temp/temp.explicit/p2-p2615r1.cpp
  clang/test/Modules/merge-var-template-spec-cxx-modules.cppm
  clang/test/Modules/pr59780.cppm
  clang/test/Modules/pr60890.cppm
  clang/test/Modules/pr62796.cppm
  clang/test/Modules/template-function-specialization.cpp
  clang/unittests/Serialization/VarDeclConstantInitTest.cpp
  clang/www/cxx_status.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153542.533578.patch
Type: text/x-patch
Size: 10549 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230622/ed510d8e/attachment.bin>


More information about the cfe-commits mailing list