[all-commits] [llvm/llvm-project] 303f20: [C++20] [Modules] [Serialization] Deserialize

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Tue Dec 6 18:53:19 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 303f20a2cab4554a10ec225fd853709146f8c51c
      https://github.com/llvm/llvm-project/commit/303f20a2cab4554a10ec225fd853709146f8c51c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2022-12-07 (Wed, 07 Dec 2022)

  Changed paths:
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/lib/AST/APValue.cpp
    A clang/test/Modules/pr58716.cppm

  Log Message:
  -----------
  [C++20] [Modules] [Serialization] Deserialize
LValuePathSerializationHelper's type properly

Close https://github.com/llvm/llvm-project/issues/58716.

Tested with libcxx's modules build.

When we read the type of
LValuePathSerializationHelper, we didn't read the correct type. We read
the element type as its name suggests. But the problem here is that it
looks like that both the usage and serialization use its type as the
top level type. So here is the mismatch.

Actually, the type of LValuePathSerializationHelper is never used after
Deserialization without the assertion. So it doesn't matter for the
release users. And this patch shouldn't change the behavior too.

Reviewed By: erichkeane

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




More information about the All-commits mailing list