114a06ac0SMike Aizatsky // compile & generate coverage data using: 2*c89755e4SMike Aizatsky // clang++ -g -o test-linux_x86_64 -fsanitize=address -fsanitize-coverage=bb test.cpp ../Inputs/foo.cpp 3*c89755e4SMike Aizatsky // ASAN_OPTIONS="coverage=1" ./test-linux_x86_64 && mv test-linux_x86_64.??*.sancov test-linux_x86_64.0.sancov 4*c89755e4SMike Aizatsky // ASAN_OPTIONS="coverage=1" ./test-linux_x86_64 1 && mv test-linux_x86_64.??*.sancov test-linux_x86_64.1.sancov 514a06ac0SMike Aizatsky 614a06ac0SMike Aizatsky #include <stdio.h> 714a06ac0SMike Aizatsky #include <string> 814a06ac0SMike Aizatsky 914a06ac0SMike Aizatsky void foo(); 1014a06ac0SMike Aizatsky 1114a06ac0SMike Aizatsky __attribute__((noinline)) bar(std::string str)1214a06ac0SMike Aizatskystd::string bar(std::string str) { printf("bar\n"); return str; } 1314a06ac0SMike Aizatsky main(int argc,char ** argv)1414a06ac0SMike Aizatskyint main(int argc, char **argv) { 1514a06ac0SMike Aizatsky if (argc == 2) 1614a06ac0SMike Aizatsky foo(); 1714a06ac0SMike Aizatsky bar("str"); 1814a06ac0SMike Aizatsky printf("main\n"); 1914a06ac0SMike Aizatsky } 20