[all-commits] [llvm/llvm-project] 69a641: [clang] Implement divergence for TypedefType and U...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Mon Oct 3 14:24:36 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 69a6417406a1b0316a1fa6aeb63339d0e1d2abbd
      https://github.com/llvm/llvm-project/commit/69a6417406a1b0316a1fa6aeb63339d0e1d2abbd
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2022-10-03 (Mon, 03 Oct 2022)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/test/SemaCXX/sugar-common-types.cpp

  Log Message:
  -----------
  [clang] Implement divergence for TypedefType and UsingType

With this patch, TypedefTypes and UsingTypes can have an
underlying type which diverges from their corresponding
declarations.

For the TypedefType case, this can be seen when getting
the common sugared type between two redeclarations with
different sugar.

For both cases, this will become important as resugaring
is implemented, as this will allow us to resugar these
when they were dependent before instantiation.

Signed-off-by: Matheus Izvekov <mizvekov at gmail.com>

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




More information about the All-commits mailing list