1*673dc3d4SNico Weber // RUN: rm -rf %t-dir 2*673dc3d4SNico Weber // RUN: mkdir %t-dir && cd %t-dir 3*673dc3d4SNico Weber // RUN: %clangxx_asan -fsanitize-coverage=func %s -o test.exe 4*673dc3d4SNico Weber // RUN: %env_asan_opts=coverage=1 %run ./test.exe 5*673dc3d4SNico Weber // 6*673dc3d4SNico Weber // RUN: %sancov print *.sancov | FileCheck %s 7*673dc3d4SNico Weber #include <stdio.h> 8*673dc3d4SNico Weber 9*673dc3d4SNico Weber void foo() { fputs("FOO", stderr); } 10*673dc3d4SNico Weber void bar() { fputs("BAR", stderr); } 11*673dc3d4SNico Weber 12*673dc3d4SNico Weber int main(int argc, char **argv) { 13*673dc3d4SNico Weber if (argc == 2) { 14*673dc3d4SNico Weber foo(); 15*673dc3d4SNico Weber bar(); 16*673dc3d4SNico Weber } else { 17*673dc3d4SNico Weber bar(); 18*673dc3d4SNico Weber foo(); 19*673dc3d4SNico Weber } 20*673dc3d4SNico Weber } 21*673dc3d4SNico Weber 22*673dc3d4SNico Weber // CHECK: 0x{{[0-9a-f]*}} 23*673dc3d4SNico Weber // CHECK: 0x{{[0-9a-f]*}} 24*673dc3d4SNico Weber // CHECK: 0x{{[0-9a-f]*}} 25*673dc3d4SNico Weber // CHECK-NOT: 0x{{[0-9a-f]*}} 26