================
@@ -0,0 +1,58 @@
+// Test logging events for the scan-by-name path using 
CompilerInstanceWithContext.
+// This test also covers the case where the compiler spawns a new thread to 
scan
+// an included module.
+// Specifically, when the compiler scans dependency for module N on thread 
TID1,
+// it creates a different thread TID2 to scan for M. TID2 discovers that M has
+// been built, picks up the up-to-date pcm, and returns back to TID1.
+// RUN: rm -rf %t
+// RUN: split-file %s %t
+// RUN: sed -e "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json
+
+// RUN: clang-scan-deps -compilation-database %t/cdb.json \
+// RUN:   -format experimental-full -log-path=%t/scan.log -j 1 \
+// RUN:   -module-names=M,N -o %t/deps.json
+// RUN: FileCheck %s < %t/scan.log
+
+// CHECK: [{{[0-9]+\.[0-9]+}}] [[#PID:]] [[#TID1:]]: 
init_compiler_instance_with_context:{{.*}}
----------------
qiongsiwu wrote:

No you are exactly right that `compiler_instance_with_context` is not shared 
across threads. Good suggestion regarding TID2. I added a new event to show 
when TID2 is created. 

https://github.com/llvm/llvm-project/pull/195896
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to