aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/development/gcov
diff options
context:
space:
mode:
Diffstat (limited to 'src/development/gcov')
-rw-r--r--src/development/gcov/Makefile24
-rw-r--r--src/development/gcov/cov.cc17
2 files changed, 41 insertions, 0 deletions
diff --git a/src/development/gcov/Makefile b/src/development/gcov/Makefile
new file mode 100644
index 0000000..f27f8d8
--- /dev/null
+++ b/src/development/gcov/Makefile
@@ -0,0 +1,24 @@
+# Copyright (C) 2023 johannst
+
+CXXFLAGS = -fprofile-arcs -ftest-coverage
+# or the alias
+#CXXFLAGS = --coverage
+
+cov-gcc: clean
+ g++ $(CXXFLAGS) -c -o cov.o cov.cc
+ g++ $(CXXFLAGS) -o $@ cov.o
+ ./$@
+ gcov --demangled-names cov.cc
+ cat cov.cc.gcov
+.PHONY: cov-gcc
+
+cov-clang: clean
+ clang++ $(CXXFLAGS) -c -o cov.o cov.cc
+ clang++ $(CXXFLAGS) -o $@ cov.o
+ ./$@
+ llvm-cov gcov --demangled-names cov.cc
+ cat cov.cc.gcov
+.PHONY: cov-clang
+
+clean:
+ $(RM) *.gcov *.gcno *.gcda *.o cov-*
diff --git a/src/development/gcov/cov.cc b/src/development/gcov/cov.cc
new file mode 100644
index 0000000..3737d81
--- /dev/null
+++ b/src/development/gcov/cov.cc
@@ -0,0 +1,17 @@
+// Copyright (C) 2023 johannst
+
+#include <cstdio>
+
+void tell_me(int desc) {
+ if (desc & 1) {
+ std::puts("this");
+ } else {
+ std::puts("that");
+ }
+}
+
+int main(int argc, char *argv[]) {
+ tell_me(argc);
+ tell_me(argc);
+ return 0;
+}