// REQUIRES: darwin // RUN: %clang_pgogen -o %t.exe %s // RUN: env LLVM_PROFILE_FILE="%c%t.profraw" %run %t.exe %t.bad 2>&1 | FileCheck %s // CHECK: __llvm_profile_set_file_object(fd={{[0-9]+}}) not supported // CHECK: Profile data not written to file: already written. #include extern int __llvm_profile_is_continuous_mode_enabled(void); extern void __llvm_profile_set_file_object(FILE *, int); extern int __llvm_profile_write_file(void); int main(int argc, char **argv) { if (!__llvm_profile_is_continuous_mode_enabled()) return 1; FILE *f = fopen(argv[1], "a+b"); if (!f) return 1; __llvm_profile_set_file_object(f, 0); // Try to set the file to "%t.bad". if (__llvm_profile_write_file() != 0) return 1; f = fopen(argv[1], "r"); if (!f) return 1; fseek(f, 0, SEEK_END); return ftell(f); // Check that the "%t.bad" is empty. }