[all-commits] [llvm/llvm-project] b86e09: [clang] Enable C++17 relaxed template template arg...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Wed May 1 22:02:57 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b86e0992bfa6c58be077d82d824016f590ac5d90
https://github.com/llvm/llvm-project/commit/b86e0992bfa6c58be077d82d824016f590ac5d90
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-02 (Thu, 02 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
A clang/test/Driver/frelaxed-template-template-args.cpp
M clang/test/Lexer/cxx-features.cpp
A clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] Enable C++17 relaxed template template argument matching by default (#89807)
This patch will finally allow us to mark C++17 support in clang as
complete.
In order to implement this as a DR and avoid breaking reasonable code
that worked before P0522, this patch implements a provisional resolution
for CWG2398: When deducing template template parameters against each other,
and the argument side names a template specialization, instead of just
deducing A, we deduce a synthesized template template parameter based
on A, but with it's parameters using the template specialization's arguments
as defaults.
The driver flag is deprecated with a warning.
Fixes https://github.com/llvm/llvm-project/issues/36505
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list