[all-commits] [llvm/llvm-project] 324293: Lazily deserialize default member initializers.

Richard Smith via All-commits all-commits at lists.llvm.org
Wed Apr 5 15:46:33 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 32429341910d0a48336215be13c7c9140dd26da4
      https://github.com/llvm/llvm-project/commit/32429341910d0a48336215be13c7c9140dd26da4
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2023-04-05 (Wed, 05 Apr 2023)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Modules/merge-lambdas.cpp

  Log Message:
  -----------
  Lazily deserialize default member initializers.

This is important to break deserialization cycles, where a lambda in a
default member initializer can refer to the field as its context
declaration, and the initializer of the field can refer back to the
lambda.

This is a follow-up to bc73ef0031b5, which applied the same fix to
variable declarations for the same reason.




More information about the All-commits mailing list