17c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O0 %s -o %t && %run %t 27c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O1 %s -o %t && %run %t 37c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O2 %s -o %t && %run %t 47c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O3 %s -o %t && %run %t 5d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov 67c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O0 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 77c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O1 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 87c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O2 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 97c9150579ed0278492f51cc8434b1d63a44b9bd1Pirama Arumuga Nainar// RUN: %clangxx_msan -O3 -D_FILE_OFFSET_BITS=64 %s -o %t && %run %t 10d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov 11d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov// Test that readdir64 is intercepted as well as readdir. 12d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov 13d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov#include <sys/types.h> 14d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov#include <dirent.h> 15d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov#include <stdlib.h> 16d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov 17d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov 18d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanovint main(void) { 19d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov DIR *dir = opendir("."); 20d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov struct dirent *d = readdir(dir); 21d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov if (d->d_name[0]) { 22d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov closedir(dir); 23d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov exit(0); 24d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov } 25d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov closedir(dir); 26d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov return 0; 27d97a15a931ae6696a1071e1471c9a019e821904bEvgeniy Stepanov} 28