[all-commits] [llvm/llvm-project] 2b54b8: [Concepts] Instantiate invented template type para...

Saar Raz via All-commits all-commits at lists.llvm.org
Mon Feb 3 05:48:47 PST 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b54b8b994b45d4e0a72f36dfb91dc9662543234
      https://github.com/llvm/llvm-project/commit/2b54b8b994b45d4e0a72f36dfb91dc9662543234
  Author: Saar Raz <saar at raz.email>
  Date:   2020-02-03 (Mon, 03 Feb 2020)

  Changed paths:
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaTemplate/instantiate-abbreviated-template.cpp

  Log Message:
  -----------
  [Concepts] Instantiate invented template type parameter type-constraint along with function parameters

We previously instantiated type-constraints of template type parameters along with the type parameter itself,
this caused problems when the type-constraints created by abbreviated templates refreneced other parameters
in the abbreviated templates.

When encountering a template type parameter with a type constraint, if it is implicit, delay instantiation of
the type-constraint until the function parameter which created the invented template type parameter is
instantiated.

(cherry picked from commit eacca4824463d8b96e2e1c9f8bbf886055218a16)




More information about the All-commits mailing list