summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2022-08-02 21:16:09 +0200
committerJoel Rosdahl <joel@rosdahl.net>2022-08-20 14:14:31 +0200
commit9b1881ac2c73ae7a4f2343690505d9457c9d7abe (patch)
tree05a9ab491bcbdc6491f0036f2ab713f6fe6b2834
parentc089aa81533f01fcca2b421b44800479ec297729 (diff)
downloadccache-9b1881ac2c73ae7a4f2343690505d9457c9d7abe.tar.gz
test: Only run -ftest-coverage + -fprofile-dir tests for GCC
Clang complains with "warning: argument unused during compilation: '-fprofile-dir=dir'". (cherry picked from commit 9d899e98e643b08737c3ee1e70149ace461426d5)
-rw-r--r--test/suites/profiling.bash58
1 files changed, 29 insertions, 29 deletions
diff --git a/test/suites/profiling.bash b/test/suites/profiling.bash
index f9043b1a..e85ea43c 100644
--- a/test/suites/profiling.bash
+++ b/test/suites/profiling.bash
@@ -157,36 +157,36 @@ SUITE_profiling() {
# check that the compiler doesn't warn about not finding the profile data.
# -------------------------------------------------------------------------
- TEST "-ftest-coverage with -fprofile-dir"
-
- # GCC 9 and newer creates a mangled .gcno filename (still in the current
- # working directory) if -fprofile-dir is given.
-
- for flag in "" -fprofile-dir=dir; do
- for dir in . subdir; do
- $CCACHE -z >/dev/null
-
- mkdir -p "$dir"
- touch "$dir/test.c"
- find -name '*.gcno' -delete
-
- $COMPILER $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
- gcno_name=$(find -name '*.gcno')
- rm "$gcno_name"
-
- $CCACHE_COMPILE $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
- expect_stat direct_cache_hit 0
- expect_stat cache_miss 1
- expect_exists "$gcno_name"
- rm "$gcno_name"
-
- $CCACHE_COMPILE $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
- expect_stat direct_cache_hit 1
- expect_stat cache_miss 1
- expect_exists "$gcno_name"
- rm "$gcno_name"
+ if $COMPILER_TYPE_GCC; then
+ # GCC 9 and newer creates a mangled .gcno filename (still in the current
+ # working directory) if -fprofile-dir is given.
+ for flag in "" -fprofile-dir=dir; do
+ for dir in . subdir; do
+ TEST "-ftest-coverage with -fprofile-dir=$flag, dir=$dir"
+ $CCACHE -z >/dev/null
+
+ mkdir -p "$dir"
+ touch "$dir/test.c"
+ find -name '*.gcno' -delete
+
+ $COMPILER $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
+ gcno_name=$(find -name '*.gcno')
+ rm "$gcno_name"
+
+ $CCACHE_COMPILE $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
+ expect_stat direct_cache_hit 0
+ expect_stat cache_miss 1
+ expect_exists "$gcno_name"
+ rm "$gcno_name"
+
+ $CCACHE_COMPILE $flag -ftest-coverage -c $dir/test.c -o $dir/test.o
+ expect_stat direct_cache_hit 1
+ expect_stat cache_miss 1
+ expect_exists "$gcno_name"
+ rm "$gcno_name"
+ done
done
- done
+ fi
# -------------------------------------------------------------------------
TEST "-fprofile-arcs for different object file paths"