set-filename.c
638 Bytes
// REQUIRES: darwin
// RUN: %clang_pgogen -o %t.exe %s
// RUN: env LLVM_PROFILE_FILE="%c%t.profraw" %run %t.exe %t.profraw %t.bad
#include <string.h>
extern int __llvm_profile_is_continuous_mode_enabled(void);
extern void __llvm_profile_set_filename(const char *);
extern const char *__llvm_profile_get_filename();
int main(int argc, char **argv) {
if (!__llvm_profile_is_continuous_mode_enabled())
return 1;
__llvm_profile_set_filename(argv[2]); // Try to set the filename to "%t.bad".
const char *Filename = __llvm_profile_get_filename();
return strcmp(Filename, argv[1]); // Check that the filename is "%t.profraw".
}