197ccf6b8SFangrui Song // Test for the leak_check_at_exit flag. 297ccf6b8SFangrui Song // RUN: %clangxx_lsan %s -o %t 3d08e5d4cSClemens Wasser // RUN: %env_lsan_opts=use_stacks=0:use_registers=0 not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do 4d08e5d4cSClemens Wasser // RUN: %env_lsan_opts=use_stacks=0:use_registers=0 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-do 5d08e5d4cSClemens Wasser // RUN: %env_lsan_opts=use_stacks=0:use_registers=0:leak_check_at_exit=0 not %run %t foo 2>&1 | FileCheck %s --check-prefix=CHECK-do 6d08e5d4cSClemens Wasser // RUN: %env_lsan_opts=use_stacks=0:use_registers=0:leak_check_at_exit=0 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-dont 797ccf6b8SFangrui Song 897ccf6b8SFangrui Song #include <stdio.h> 997ccf6b8SFangrui Song #include <stdlib.h> 1097ccf6b8SFangrui Song #include <sanitizer/lsan_interface.h> 1197ccf6b8SFangrui Song main(int argc,char * argv[])1297ccf6b8SFangrui Songint main(int argc, char *argv[]) { 1397ccf6b8SFangrui Song fprintf(stderr, "Test alloc: %p.\n", malloc(1337)); 1497ccf6b8SFangrui Song if (argc > 1) 1597ccf6b8SFangrui Song __lsan_do_leak_check(); 1697ccf6b8SFangrui Song return 0; 1797ccf6b8SFangrui Song } 1897ccf6b8SFangrui Song 19*b2aa0a46SKirill Stoimenov // CHECK-do: SUMMARY: {{.*}}Sanitizer: 20*b2aa0a46SKirill Stoimenov // CHECK-dont-NOT: SUMMARY: {{.*}}Sanitizer: 21