1*d21b3d34SFangrui Song // RUN: %clangxx_msan -O0 %s -o %t && %run %t 2*d21b3d34SFangrui Song // RUN: %clangxx_msan -O1 %s -o %t && %run %t 3*d21b3d34SFangrui Song // RUN: %clangxx_msan -O2 %s -o %t && %run %t 4*d21b3d34SFangrui Song // RUN: %clangxx_msan -O3 %s -o %t && %run %t 5*d21b3d34SFangrui Song 6*d21b3d34SFangrui Song // RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 7*d21b3d34SFangrui Song // RUN: %clangxx_msan -O1 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 8*d21b3d34SFangrui Song // RUN: %clangxx_msan -O2 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 9*d21b3d34SFangrui Song // RUN: %clangxx_msan -O3 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 10*d21b3d34SFangrui Song 11*d21b3d34SFangrui Song // Test that readdir64 is intercepted as well as readdir. 12*d21b3d34SFangrui Song 13*d21b3d34SFangrui Song #include <sys/types.h> 14*d21b3d34SFangrui Song #include <dirent.h> 15*d21b3d34SFangrui Song #include <stdlib.h> 16*d21b3d34SFangrui Song 17*d21b3d34SFangrui Song main(void)18*d21b3d34SFangrui Songint main(void) { 19*d21b3d34SFangrui Song DIR *dir = opendir("."); 20*d21b3d34SFangrui Song struct dirent *d = readdir(dir); 21*d21b3d34SFangrui Song if (d->d_name[0]) { 22*d21b3d34SFangrui Song closedir(dir); 23*d21b3d34SFangrui Song exit(0); 24*d21b3d34SFangrui Song } 25*d21b3d34SFangrui Song closedir(dir); 26*d21b3d34SFangrui Song return 0; 27*d21b3d34SFangrui Song } 28