1*7c3d14c8STreehugger Robot // RUN: %clang_esan_frag -O0 %s -o %t 2>&1 2*7c3d14c8STreehugger Robot // RUN: %env_esan_opts=verbosity=3 %run %t 2>&1 | FileCheck %s 3*7c3d14c8STreehugger Robot 4*7c3d14c8STreehugger Robot #include <string.h> 5*7c3d14c8STreehugger Robot main(int argc,char ** argv)6*7c3d14c8STreehugger Robotint main(int argc, char **argv) { 7*7c3d14c8STreehugger Robot char Buf[2048]; 8*7c3d14c8STreehugger Robot const char Str[] = "TestStringOfParticularLength"; // 29 chars. 9*7c3d14c8STreehugger Robot strcpy(Buf, Str); 10*7c3d14c8STreehugger Robot strncpy(Buf, Str, 17); 11*7c3d14c8STreehugger Robot return strncmp(Buf, Str, 17); 12*7c3d14c8STreehugger Robot // CHECK: in esan::initializeLibrary 13*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 29 14*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 29 15*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 17 16*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 17 17*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 17 18*7c3d14c8STreehugger Robot // CHECK: in esan::processRangeAccess {{.*}} 17 19*7c3d14c8STreehugger Robot // CHECK: in esan::finalizeLibrary 20*7c3d14c8STreehugger Robot } 21