diff --git a/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni b/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni new file mode 100644 index 00000000000000..09c7d3e96ffffd --- /dev/null +++ b/llvm/utils/gn/secondary/clang-tools-extra/clangd/quality/gen_decision_forest.gni @@ -0,0 +1,37 @@ +template("gen_decision_forest") { + model = invoker.model + filename = invoker.filename + cpp_class = invoker.cpp_class + + action("${target_name}Cpp") { + script = "//clang-tools-extra/clangd/quality/CompletionModelCodegen.py" + outputs = [ + "$target_gen_dir/$filename.cpp", + "$target_gen_dir/$filename.h", + ] + args = [ + "--model", + rebase_path(model, root_build_dir), + "--output_dir", + rebase_path(target_gen_dir, root_build_dir), + "--filename", + filename, + "--cpp_class", + cpp_class, + ] + } + + config("${target_name}Config") { + cflags = [ "-Wno-unused-label" ] + } + + source_set(target_name) { + configs += [ + "//llvm/utils/gn/build:clang_code", + ":${target_name}Config", + ] + deps = [ ":${target_name}Cpp" ] + include_dirs = [ "." ] + sources = get_target_outputs(":${target_name}Cpp") + } +}