[clang-tools-extra] 294b9d4 - [clangd] Disable all dependency outputs

Kadir Cetinkaya via cfe-commits cfe-commits at lists.llvm.org
Sat Apr 25 04:51:46 PDT 2020


Author: Kadir Cetinkaya
Date: 2020-04-25T13:51:33+02:00
New Revision: 294b9d43cae77ea15453ec82203368903db4f538

URL: https://github.com/llvm/llvm-project/commit/294b9d43cae77ea15453ec82203368903db4f538
DIFF: https://github.com/llvm/llvm-project/commit/294b9d43cae77ea15453ec82203368903db4f538.diff

LOG: [clangd] Disable all dependency outputs

Summary: Fixes https://github.com/clangd/clangd/issues/322

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78833

Added: 
    clang-tools-extra/clangd/test/dependency-output.test

Modified: 
    clang-tools-extra/clangd/Compiler.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/Compiler.cpp b/clang-tools-extra/clangd/Compiler.cpp
index eae753b5c9b3..47cec5ae12e8 100644
--- a/clang-tools-extra/clangd/Compiler.cpp
+++ b/clang-tools-extra/clangd/Compiler.cpp
@@ -65,6 +65,15 @@ buildCompilerInvocation(const ParseInputs &Inputs,
   CI->getFrontendOpts().DisableFree = false;
   CI->getLangOpts()->CommentOpts.ParseAllComments = true;
   CI->getLangOpts()->RetainCommentsFromSystemHeaders = true;
+
+  // Disable any dependency outputting, we don't want to generate files or write
+  // to stdout/stderr.
+  CI->getDependencyOutputOpts().ShowIncludesDest =
+      ShowIncludesDestination::None;
+  CI->getDependencyOutputOpts().OutputFile.clear();
+  CI->getDependencyOutputOpts().HeaderIncludeOutputFile.clear();
+  CI->getDependencyOutputOpts().DOTOutputFile.clear();
+  CI->getDependencyOutputOpts().ModuleDependencyOutputDir.clear();
   return CI;
 }
 

diff  --git a/clang-tools-extra/clangd/test/dependency-output.test b/clang-tools-extra/clangd/test/dependency-output.test
new file mode 100644
index 000000000000..10b493d6611d
--- /dev/null
+++ b/clang-tools-extra/clangd/test/dependency-output.test
@@ -0,0 +1,12 @@
+# RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s
+{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
+---
+{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"compilationDatabaseChanges":{"/clangd-test/foo.c":
+{"workingDirectory":"/clangd-test", "compilationCommand": ["clang", "-c", "-Xclang", "--show-includes", "-Xclang", "-sys-header-deps", "foo.c"]}}}}}
+---
+{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"cpp","version":1,"text":"int a;\n#include <stddef.h>"}}}
+#CHECK-NOT: Note: including file
+---
+{"jsonrpc":"2.0","id":3,"method":"shutdown"}
+---
+{"jsonrpc":"2.0","method":"exit"}


        


More information about the cfe-commits mailing list