[all-commits] [llvm/llvm-project] 6e1ab3: [Serialization] Stop demote var definition as decl...

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Tue Mar 3 18:07:19 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e1ab3a4310d3c385a06e1c575f1eca58990e733
      https://github.com/llvm/llvm-project/commit/6e1ab3a4310d3c385a06e1c575f1eca58990e733
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-03-04 (Wed, 04 Mar 2026)

  Changed paths:
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/demote-var-def.cpp
    A clang/test/Modules/module-init-forcelly-loaded-module.cpp
    A clang/test/Modules/pr149404-02.cppm
    A clang/test/Modules/pr172241.cppm
    A clang/test/Modules/var-inst-def.cppm

  Log Message:
  -----------
  [Serialization] Stop demote var definition as declaration (#172430) (#177117) (#184287)

Close https://github.com/llvm/llvm-project/issues/172241 Close
https://github.com/llvm/llvm-project/issues/64034 Close
https://github.com/llvm/llvm-project/issues/149404 Close
https://github.com/llvm/llvm-project/issues/174858

After this patch, we (the clang dev) no longer assumes there are at most
one definition in a redeclaration chain.

See


https://discourse.llvm.org/t/rfc-clang-not-assuming-there-is-at-most-one-definition-in-a-redeclaration-chain/89360
for details.

---

Update since last commit:

Previously I remove the code to update visibility accidently. This is
the root cause of the failure.

---

Update since last commit:

Still demote var definition as declaration if it is in headers. This is
meant to avoid https://github.com/llvm/llvm-project/issues/181076

See the comments in ASTDeclReader::attachPreviousDeclImpl .

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



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list