[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