Browse Source

ccanlint: Correct default coverage tool for clang

Currently ccanlint defaults to using "gcov" as the coverage analysis tool
for any compiler defining __GNUC__.  That's generally correct for the
(system default) gcc.  However, clang also defines __GNUC__ because it
implements the GCC langauge extensions.  For clang, "gcov" is not the
correct coverage tool (clang does use roughly the gcov format, but unless
you're very lucky the system gcc and system clang won't use the same gcov
versions).

This changes the default coverage tool in the case of clang to the correct
"llvm-cov gcov".

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
David Gibson 9 years ago
parent
commit
319dadd4fa
1 changed files with 3 additions and 1 deletions
  1. 3 1
      tools/gcov.c

+ 3 - 1
tools/gcov.c

@@ -13,7 +13,9 @@ bool run_gcov(const void *ctx, unsigned int *time_ms, char **output,
 	bool rc;
 
 	if (!gcov) {
-#ifdef __GNUC__
+#if defined(__clang__)
+		cmd = "llvm-cov gcov";
+#elif defined(__GNUC__)
 		cmd = "gcov";
 #endif
 	}