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