[all-commits] [llvm/llvm-project] 9dd2af: Fix CRTP partial specialization instantiation crash.

Erich Keane via All-commits all-commits at lists.llvm.org
Thu May 11 06:11:57 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9dd2af0b4caeaa3d19d9f48891e59bc5e0877544
      https://github.com/llvm/llvm-project/commit/9dd2af0b4caeaa3d19d9f48891e59bc5e0877544
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2023-05-11 (Thu, 11 May 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaTemplate/partial-spec-instantiate.cpp

  Log Message:
  -----------
  Fix CRTP partial specialization instantiation crash.

Fixes #60778.

When instantiating the body of a class template specialization that was
instantiated from a partial specialization, we were incorrectly
collecting template arguments from the primary template, which resulted
in the template arguments list being inaccurate.  In the example from
the issue, we were trying to substitute the boolean 'false' into the
type on Nested, which caused an assertion.

Differential Revision: https://reviews.llvm.org/D150285




More information about the All-commits mailing list