[all-commits] [llvm/llvm-project] af4703: [clangd] [C++20] [Modules] Support code complete f...

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Sun Sep 29 22:08:03 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: af47038fb1385435eb315cc1962464f19ea9e186
      https://github.com/llvm/llvm-project/commit/af47038fb1385435eb315cc1962464f19ea9e186
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd] [C++20] [Modules] Support code complete for C++20 modules (#110083)

According to https://github.com/ChuanqiXu9/clangd-for-modules/issues/9,
I surprisingly found the support for C++20 modules doesn't support code
completion well.

After debugging, I found there are problems:
(1) We forgot to call `adjustHeaderSearchOptions` in code complete. This
may be an easy oversight.
(2) In `CodeCompleteOptions::getClangCompleteOpts`, we may set
`LoadExternal` as false when index is available. But we have support
modules with index. So it is conflicting. Given modules are opt in now,
I think it makes sense to to set LoadExternal as true when modules are
enabled.

This is a small fix and I wish it can land faster.



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