[all-commits] [llvm/llvm-project] 0f7aae: [C++20] [Modules] Allow export from language linkage

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Thu Nov 9 01:45:22 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0f7aaeb3241c3803489a45753190e82dbc7fd5fa
      https://github.com/llvm/llvm-project/commit/0f7aaeb3241c3803489a45753190e82dbc7fd5fa
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2023-11-09 (Thu, 09 Nov 2023)

  Changed paths:
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Modules/export-language-linkage.cppm
    M clang/test/SemaCXX/modules.cppm

  Log Message:
  -----------
  [C++20] [Modules] Allow export from language linkage

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

Previously I misread the concept of module purview. I thought if a
declaration attached to a unnamed module, it can't be part of the module
purview. But after the issue report, I recognized that module purview is
more of a concept about locations instead of semantics.

Concretely, the things in the language linkage after module declarations
can be exported.

This patch refactors `Module::isModulePurview()` and introduces some
possible code cleanups.




More information about the All-commits mailing list