[clang] [libcxx] [llvm] Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (PR #98547)

Haojian Wu via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 15 04:11:58 PDT 2024


hokein wrote:

@sdkrystian, I think we need to temporarily revert your patch (and sorry for that), as there is no way to fully preserve the old behavior of clang (our integration has been blocking since last week, and I think other large projects may encounter this issue as well):

- The `-Wno-missing-dependent-template-keyword` flag only partially addresses the issue and doesn't work for non-type template parameters. Teaching the error recovery to handle this case might take some time, see my [comment](https://github.com/llvm/llvm-project/pull/98547#issuecomment-2227871325);
- Adding all the missing `template` keyword in a large codebase is not feasible in the short term. For example, when addressing the abseil failure, and we seem to encounter another [Clang issue](https://github.com/llvm/llvm-project/issues/98878);
- Maintaining a local revert internally is not a sustainable option due to the extensive changes in this patch, which affects > 1K lines of code;

I think the next reland needs to cover the non-type template case, so that we have a way to suppress the warning for all cases (this gives developer time to do the cleanup transition).

Thank you for your understanding. 

https://github.com/llvm/llvm-project/pull/98547


More information about the llvm-commits mailing list