annotate openmp/cmake/HandleOpenMPOptions.cmake @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 if (OPENMP_STANDALONE_BUILD)
anatofuz
parents:
diff changeset
2 # From HandleLLVMOptions.cmake
anatofuz
parents:
diff changeset
3 function(append_if condition value)
anatofuz
parents:
diff changeset
4 if (${condition})
anatofuz
parents:
diff changeset
5 foreach(variable ${ARGN})
anatofuz
parents:
diff changeset
6 set(${variable} "${${variable}} ${value}" PARENT_SCOPE)
anatofuz
parents:
diff changeset
7 endforeach(variable)
anatofuz
parents:
diff changeset
8 endif()
anatofuz
parents:
diff changeset
9 endfunction()
anatofuz
parents:
diff changeset
10 endif()
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 # MSVC and clang-cl in compatibility mode map -Wall to -Weverything.
anatofuz
parents:
diff changeset
13 # TODO: LLVM adds /W4 instead, check if that works for the OpenMP runtimes.
anatofuz
parents:
diff changeset
14 if (NOT MSVC)
anatofuz
parents:
diff changeset
15 append_if(OPENMP_HAVE_WALL_FLAG "-Wall" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
16 endif()
anatofuz
parents:
diff changeset
17 if (OPENMP_ENABLE_WERROR)
anatofuz
parents:
diff changeset
18 append_if(OPENMP_HAVE_WERROR_FLAG "-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
19 endif()
anatofuz
parents:
diff changeset
20
anatofuz
parents:
diff changeset
21 # Additional warnings that are not enabled by -Wall.
anatofuz
parents:
diff changeset
22 append_if(OPENMP_HAVE_WCAST_QUAL_FLAG "-Wcast-qual" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
23 append_if(OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG "-Wformat-pedantic" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
24 append_if(OPENMP_HAVE_WIMPLICIT_FALLTHROUGH_FLAG "-Wimplicit-fallthrough" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
25 append_if(OPENMP_HAVE_WSIGN_COMPARE_FLAG "-Wsign-compare" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 # Warnings that we want to disable because they are too verbose or fragile.
anatofuz
parents:
diff changeset
28
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
29 # GCC silently accepts any -Wno-<foo> option, but warns about those options
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
30 # being unrecognized only if the compilation triggers other warnings to be
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
31 # printed. Therefore, check for whether the compiler supports options in the
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
32 # form -W<foo>, and if supported, add the corresponding -Wno-<foo> option.
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
33
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
34 append_if(OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG "-Wno-enum-constexpr-conversion" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
35 append_if(OPENMP_HAVE_WEXTRA_FLAG "-Wno-extra" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
36 append_if(OPENMP_HAVE_WPEDANTIC_FLAG "-Wno-pedantic" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
37 append_if(OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG "-Wno-maybe-uninitialized" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)