[all-commits] [llvm/llvm-project] 5f2157: [clang][ASTImporter] Fix friend class template imp...

Ding Fei via All-commits all-commits at lists.llvm.org
Tue Aug 1 20:22:06 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5f2157f8fcaede27ccf4ab215fcb1a4725a36b2a
      https://github.com/llvm/llvm-project/commit/5f2157f8fcaede27ccf4ab215fcb1a4725a36b2a
  Author: dingfei <fding at feysh.com>
  Date:   2023-08-02 (Wed, 02 Aug 2023)

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

  Log Message:
  -----------
  [clang][ASTImporter] Fix friend class template import within dependent context

For friend class template within dependent context:

1. Should not do structure matching checking. This fixes importing failure of
   template with non-type parm;
2. Should not be added into redecls chain.

See Sema::CheckClassTemplate().

Fixes https://github.com/llvm/llvm-project/issues/64169.

Reviewed By: aaron.ballman, balazske, shafik

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


  Commit: 91b7952afc82f90e7b810701d9d5c776a8e21688
      https://github.com/llvm/llvm-project/commit/91b7952afc82f90e7b810701d9d5c776a8e21688
  Author: dingfei <fding at feysh.com>
  Date:   2023-08-02 (Wed, 02 Aug 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Expr.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [ASTImporter] Fix corrupted RecordLayout caused by circular referenced fields

UnaryOperator(&)'s creation might need layout of some records
whose fields importation are still on fly, the layout is incorrectly
computed and cached. Clients relying on this will not work properly
or crash direclty (e.g StaticAnalyzer's MemRegion.cpp (calculateOffset)).

Use UnaryOperator::CreateEmpty() instead of UnaryOperator::Create()
to avoid this computation.

Fixes https://github.com/llvm/llvm-project/issues/64170

Reviewed By: aaron.ballman, balazske, shafik

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


Compare: https://github.com/llvm/llvm-project/compare/53648ac1d0c9...91b7952afc82


More information about the All-commits mailing list