[all-commits] [llvm/llvm-project] abbd57: Factor out and centralize repeated 'getExpandedPac...

Richard Smith via All-commits all-commits at lists.llvm.org
Sun Dec 13 22:43:47 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: abbd57e558b907a7be8adc5a5b9699dd7c23b1af
      https://github.com/llvm/llvm-project/commit/abbd57e558b907a7be8adc5a5b9699dd7c23b1af
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-12-13 (Sun, 13 Dec 2020)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp

  Log Message:
  -----------
  Factor out and centralize repeated 'getExpandedPackSize'.


  Commit: 05cdf4acf42acce9ddcff646a5d6ac666710fe6d
      https://github.com/llvm/llvm-project/commit/05cdf4acf42acce9ddcff646a5d6ac666710fe6d
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-12-13 (Sun, 13 Dec 2020)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/test/CodeGenCXX/clang-abi-compat.cpp
    M clang/test/CodeGenCXX/mangle-class-nttp.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp

  Log Message:
  -----------
  Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types.

For the Itanium ABI, this implements the mangling rule suggested in
https://github.com/itanium-cxx-abi/cxx-abi/issues/47, namely mangling
such template arguments as being cast to the parameter type in the case
where the template name is overloadable. This can cause a mangling
change for rare cases, where

 * the template argument declaration is converted from its declared type
   to the type of the template parameter, and
 * the template parameter either has a deduced type or is a parameter of
   a function template.

However, such changes are necessary to avoid mangling collisions. The
ABI changes can be reversed with -fclang-abi-compat=11 or earlier.

Re-commit with a fix for the regression introduced last time: don't
expect parameters and arguments to line up inside an <unresolved-name>
mangling.

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


  Commit: 7de9c61f3111c8b8bc9e03a7935356e2f372d8b4
      https://github.com/llvm/llvm-project/commit/7de9c61f3111c8b8bc9e03a7935356e2f372d8b4
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-12-13 (Sun, 13 Dec 2020)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/params.fail.cpp

  Log Message:
  -----------
  Fix test expectation to cope with custom version namespaces.


Compare: https://github.com/llvm/llvm-project/compare/b8c847ee731b...7de9c61f3111


More information about the All-commits mailing list