1 // compile & generate coverage data using: 2 // clang++ -g -o test-linux_x86_64 -fsanitize=address -fsanitize-coverage=bb test.cpp ../Inputs/foo.cpp 3 // ASAN_OPTIONS="coverage=1" ./test-linux_x86_64 && mv test-linux_x86_64.??*.sancov test-linux_x86_64.0.sancov 4 // ASAN_OPTIONS="coverage=1" ./test-linux_x86_64 1 && mv test-linux_x86_64.??*.sancov test-linux_x86_64.1.sancov 5 6 #include <stdio.h> 7 #include <string> 8 9 void foo(); 10 11 __attribute__((noinline)) bar(std::string str)12std::string bar(std::string str) { printf("bar\n"); return str; } 13 main(int argc,char ** argv)14int main(int argc, char **argv) { 15 if (argc == 2) 16 foo(); 17 bar("str"); 18 printf("main\n"); 19 } 20