[all-commits] [llvm/llvm-project] d194d8: [clang][ASTImporter] Propagate TemplateArgument::I...

Michael Buch via All-commits all-commits at lists.llvm.org
Fri Jan 27 08:39:46 PST 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d194d817b0b29c6e244d01cf7b836b9e4bbe2794
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  [clang][ASTImporter] Propagate TemplateArgument::IsDefaulted during import

With https://reviews.llvm.org/D141826 `TemplateArgument`s have an
additional field that indicates their defaulted-ness. This gets
used during debug-info generation and in the `clang::TypePrinter`.

This patch copies the field during the import process so consumers
of the ASTImporter can benefit from the other Clang components that
read the field.


* Added unit-test
* Checked that this fixes (in addition to a follow-up LLDB patch)
  fix current test failures in LLDB

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

  Commit: 12e8e3fe90c976d08d466b24ce21a7f7e86f4249
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-01-27 (Fri, 27 Jan 2023)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp

  Log Message:
  [lldb][CXXModuleHandler] Set TemplateArgument::IsDefaulted

Since https://reviews.llvm.org/D141827 this field gets used
to print type names. Thus propagate it after importing TemplateArguments
from modules.


* Confirmed that this fixes the ongoing `import-std-module` test

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

Compare: https://github.com/llvm/llvm-project/compare/9d5c63f641c8...12e8e3fe90c9

More information about the All-commits mailing list