From 2b0c34c8d13ab4a899a722ae272a366bf6051168 Mon Sep 17 00:00:00 2001 From: Johannes Stoelp Date: Wed, 17 May 2023 18:44:37 +0200 Subject: gcov: example to generate coverage --- src/development/gcov/Makefile | 24 ++++++++++++++++++++++++ src/development/gcov/cov.cc | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/development/gcov/Makefile create mode 100644 src/development/gcov/cov.cc (limited to 'src/development/gcov') 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 + +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; +} -- cgit v1.2.3