[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-04-05 Thread via cfe-commits
GeorgeKA wrote: Opened a separate PR given the branch I used here implies disabling the feature. https://github.com/llvm/llvm-project/pull/133806 https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-31 Thread via cfe-commits
https://github.com/GeorgeKA closed https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
cor3ntin wrote: I think the issue here is that there is no extension warning in C++17. There should probably be one. Search for `ExtWarn` in DiagnosticSemaKinds.td and how these `ext_` diagnostics are used https://github.com/llvm/llvm-project/pull/133597

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov commented: We do tend to offer newer features into older standards when that isn't a burden, as long as we have a warning advertising the incompatibility with the current standard, as we do. What is the motivation for this change? https://github.com/llvm/llvm-proje

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
GeorgeKA wrote: Gotcha. Thanks for the feedback. I'll comment in the issue. https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread Matheus Izvekov via cfe-commits
@@ -113,7 +113,7 @@ namespace dependent { }; template void f() { typename T::X tx = 0; -typename T::Y ty = 0; +typename T::template Y ty = 0; mizvekov wrote: This is just removing the test. Ideally this would still be tested under C++20. https

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread Matheus Izvekov via cfe-commits
@@ -9895,26 +9895,30 @@ QualType Sema::DeduceTemplateSpecializationFromInitializer( if (!Template) { if (auto *AliasTemplate = dyn_cast_or_null( TemplateName.getAsTemplateDecl())) { - Diag(Kind.getLocation(), - diag::warn_cxx17_compat_ctad_for_

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread Matheus Izvekov via cfe-commits
mizvekov wrote: It is generally ok, we only do not allow it when that would cause some significant backwards compatibility issues. https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.l

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
GeorgeKA wrote: > We do tend to offer newer features into older standards when that isn't a > burden, as long as we have a warning advertising the incompatibility with the > current standard, as we do. > > What is the motivation for this change? It was originally detailed in [125913](https:/

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread Matheus Izvekov via cfe-commits
https://github.com/mizvekov edited https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
https://github.com/GeorgeKA edited https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
https://github.com/GeorgeKA edited https://github.com/llvm/llvm-project/pull/133597 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: None (GeorgeKA) Changes Alias template class template argument deduction is a C++20 feature. Also updated relevant CTAD test cases. --- Full diff: https://github.com/llvm/llvm-project/pull/133597.diff 4 Files Affected: - (modified) cla

[clang] Disable alias template CTAD for C++17 (PR #133597)

2025-03-29 Thread via cfe-commits
https://github.com/GeorgeKA created https://github.com/llvm/llvm-project/pull/133597 Alias template class template argument deduction is a C++20 feature. Also updated relevant CTAD test cases. >From 5b6d72ce1503196bf1c06a8b3dbc3f913265d76c Mon Sep 17 00:00:00 2001 From: George Asante Date: Sa