aboutsummaryrefslogtreecommitdiff
path: root/test/profile/gcc-flag-compatibility.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/profile/gcc-flag-compatibility.test')
-rw-r--r--test/profile/gcc-flag-compatibility.test17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/profile/gcc-flag-compatibility.test b/test/profile/gcc-flag-compatibility.test
new file mode 100644
index 000000000000..8e8b55dafe23
--- /dev/null
+++ b/test/profile/gcc-flag-compatibility.test
@@ -0,0 +1,17 @@
+RUN: mkdir -p %t.d
+RUN: %clang_profgen_gcc=%t.d/d1/d2 -o %t.d/code %S/Inputs/gcc-flag-compatibility.c
+
+# Test that the instrumented code writes to %t.d/d1/d2/default.profraw
+RUN: %run %t.d/code
+RUN: llvm-profdata merge -o %t.profdata %t.d/d1/d2/default.profraw
+
+# Test that we can override the directory and file name with LLVM_PROFILE_FILE.
+RUN: env LLVM_PROFILE_FILE=%t.d/x1/prof.raw %run %t.d/code
+RUN: llvm-profdata merge -o %t.profdata %t.d/x1/prof.raw
+
+# Test that we can specify a directory with -fprofile-use.
+RUN: llvm-profdata merge -o %t.d/default.profdata %t.d/x1/prof.raw
+RUN: %clang_profuse_gcc=%t.d -o %t.d/code %S/Inputs/gcc-flag-compatibility.c
+
+# Test that we can specify a file with -fprofile-use.
+RUN: %clang_profuse_gcc=%t.profdata -o %t.d/code %S/Inputs/gcc-flag-compatibility.c