[clang] Add test for CWG1710 and related issues
Those issues focus on `template` keyword being optional in certain type-only contexts (base specifiers, member initializers, typename specifiers), as opposed to be disallowed by the grammar, or required by some implementations. GCC accepts all the tests this patch touches since 10, others fail on various tests: https://godbolt.org/z/1M6KE3W1a It should be noted that the wording in [[ https://cplusplus.github.io/CWG/issues/1710.html | 1710 ]] that resolves those issues has been substantially changed by [[ https://wg21.link/p1787 | P1787 ]]. I can't find the post-P1787 wording that covers those issues, but I can't find the intent of changing relevant behavior in P1787 either, so I assume that intent of the 1710 resolution is preserved somewhere. This patch covers the following issues: [[ https://cplusplus.github.io/CWG/issues/314.html | CWG314 ]] [[ https://cplusplus.github.io/CWG/issues/343.html | CWG343 ]] [[ https://cplusplus.github.io/CWG/issues/1710.html | CWG1710 ]] [[ https://cplusplus.github.io/CWG/issues/1794.html | CWG1794 ]] [[ https://cplusplus.github.io/CWG/issues/1812.html | CWG1812 ]] Reviewed By: #clang-language-wg, cor3ntin Differential Revision: https://reviews.llvm.org/D151697
Loading
Please sign in to comment