link_turned_off.cc revision 2d1fdb26e458c4ddc04155c1d421bced3ba90cd0
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Test for disabling LSan at link-time. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RUN: LSAN_BASE="use_stacks=0:use_registers=0" 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RUN: %clangxx_lsan %s -o %t 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RUN: LSAN_OPTIONS=$LSAN_BASE %run %t 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RUN: LSAN_OPTIONS=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include <sanitizer/lsan_interface.h> 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)int argc_copy; 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)extern "C" { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int __lsan_is_turned_off() { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return (argc_copy == 1); 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int main(int argc, char *argv[]) { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) volatile int *x = new int; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *x = 42; 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) argc_copy = argc; 210f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) return 0; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// CHECK: SUMMARY: {{(Leak|Address)}}Sanitizer: 4 byte(s) leaked in 1 allocation(s) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)