summaryrefslogtreecommitdiff
path: root/test/profile/Posix/instrprof-get-filename-merge-mode.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/profile/Posix/instrprof-get-filename-merge-mode.c')
-rw-r--r--test/profile/Posix/instrprof-get-filename-merge-mode.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/profile/Posix/instrprof-get-filename-merge-mode.c b/test/profile/Posix/instrprof-get-filename-merge-mode.c
new file mode 100644
index 000000000..c6e2fca22
--- /dev/null
+++ b/test/profile/Posix/instrprof-get-filename-merge-mode.c
@@ -0,0 +1,18 @@
+// Test __llvm_profile_get_filename when the on-line merging mode is enabled.
+//
+// RUN: %clang_pgogen -dynamiclib -o %t.dso %p/Inputs/instrprof-get-filename-dso.c
+// RUN: %clang_pgogen -o %t %s %t.dso
+// RUN: env LLVM_PROFILE_FILE="%t-%m.profraw" %run %t
+
+#include <string.h>
+
+const char *__llvm_profile_get_filename(void);
+extern const char *get_filename_from_DSO(void);
+
+int main(int argc, const char *argv[]) {
+ const char *filename1 = __llvm_profile_get_filename();
+ const char *filename2 = get_filename_from_DSO();
+
+ // Exit with code 1 if the two filenames are the same.
+ return strcmp(filename1, filename2) == 0;
+}