[all-commits] [llvm/llvm-project] f1b0a4: An expression should only contain an unexpanded pa...

Richard Smith via All-commits all-commits at lists.llvm.org
Thu Mar 31 20:03:10 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f1b0a4fc540f986372f09768c325d505b75b414d
      https://github.com/llvm/llvm-project/commit/f1b0a4fc540f986372f09768c325d505b75b414d
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2022-03-31 (Thu, 31 Mar 2022)

  Changed paths:
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/DependenceFlags.h
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Type.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    A clang/test/SemaTemplate/find-unexpanded-packs.cpp

  Log Message:
  -----------
  An expression should only contain an unexpanded parameter pack if it
lexically contains a mention of the pack.

Systematically distinguish between syntactic and semantic references to
packs, especially when propagating dependence from a type into an
expression. We should consult the type-as-written when computing
syntactic dependence and should consult the semantic type when computing
semantic dependence.

Fixes #54402.




More information about the All-commits mailing list