diff options
author | Joel Rosdahl <joel@rosdahl.net> | 2022-08-02 21:16:09 +0200 |
---|---|---|
committer | Joel Rosdahl <joel@rosdahl.net> | 2022-08-03 10:03:47 +0200 |
commit | 9d899e98e643b08737c3ee1e70149ace461426d5 (patch) | |
tree | dd75f2d08fb4be737a8338daf0f545a10014a76f /test | |
parent | cee6aeed77341a93cbd7036e28f9c973e04502be (diff) | |
download | ccache-9d899e98e643b08737c3ee1e70149ace461426d5.tar.gz |
test: Only run -ftest-coverage + -fprofile-dir tests for GCC
Clang complains with "warning: argument unused during compilation:
'-fprofile-dir=dir'".
Diffstat (limited to 'test')
-rw-r--r-- | test/suites/profiling.bash | 58 |
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" |