Skip to content

Commit

Permalink
Make clangd CompletionModel not depend on directory layout.
Browse files Browse the repository at this point in the history
The current code accounts for two possible layouts, but there is at
least a third supported layout: clang-tools-extra may also be checked
out as clang/tools/extra with the releases, which was not yet handled.
Rather than treating that as a special case, use the location of
CompletionModel.cmake to handle all three cases. This should address the
problems that prompted D96787 and the problems that prompted the
proposed revert D100625.

Reviewed By: usaxena95

Differential Revision: https://reviews.llvm.org/D101851
  • Loading branch information
hvdijk committed May 5, 2021
1 parent aefbfbc commit 7907c46
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion clang-tools-extra/clangd/quality/CompletionModel.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
# ${CMAKE_CURRENT_BINARY_DIR}. The generated header
# will define a C++ class called ${cpp_class} - which may be a
# namespace-qualified class name.
set(CLANGD_COMPLETION_MODEL_COMPILER ${CMAKE_CURRENT_LIST_DIR}/CompletionModelCodegen.py)
function(gen_decision_forest model filename cpp_class)
set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py)
set(model_compiler ${CLANGD_COMPLETION_MODEL_COMPILER})

set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
set(header_file ${output_dir}/${filename}.h)
Expand Down

0 comments on commit 7907c46

Please sign in to comment.