diff options
author | Joseph Huber <huberjn@outlook.com> | 2023-11-27 14:39:58 -0600 |
---|---|---|
committer | Joseph Huber <huberjn@outlook.com> | 2023-11-27 14:51:48 -0600 |
commit | 4b7beab4187ab0766c3d7b272511d5751431a8da (patch) | |
tree | e9041e3575a29ed2fcad4ca6037791d38a717ee7 /openmp/cmake | |
parent | 3d87b9d5f0ebc0df2b258817ff6a25a40e1fbc37 (diff) | |
download | llvm-4b7beab4187ab0766c3d7b272511d5751431a8da.zip llvm-4b7beab4187ab0766c3d7b272511d5751431a8da.tar.gz llvm-4b7beab4187ab0766c3d7b272511d5751431a8da.tar.bz2 |
[OpenMP] Add back implicit flags manually
Summary:
We used to inherit these flags from the LLVM options in a runtimes
build. This patch adds them back in manually as they are helpful for
diagnostics and optimizing the created binary.
Diffstat (limited to 'openmp/cmake')
-rw-r--r-- | openmp/cmake/HandleOpenMPOptions.cmake | 6 | ||||
-rw-r--r-- | openmp/cmake/config-ix.cmake | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/openmp/cmake/HandleOpenMPOptions.cmake b/openmp/cmake/HandleOpenMPOptions.cmake index a79b04e..b0fd0b7 100644 --- a/openmp/cmake/HandleOpenMPOptions.cmake +++ b/openmp/cmake/HandleOpenMPOptions.cmake @@ -18,6 +18,8 @@ if (OPENMP_ENABLE_WERROR) append_if(OPENMP_HAVE_WERROR_FLAG "-Werror" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) endif() +append_if(OPENMP_HAVE_COLOR_DIAGNOSTICS "-fcolor-diagnostics" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + # Additional warnings that are not enabled by -Wall. append_if(OPENMP_HAVE_WCAST_QUAL_FLAG "-Wcast-qual" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) append_if(OPENMP_HAVE_WFORMAT_PEDANTIC_FLAG "-Wformat-pedantic" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) @@ -35,3 +37,7 @@ append_if(OPENMP_HAVE_WENUM_CONSTEXPR_CONVERSION_FLAG "-Wno-enum-constexpr-conve append_if(OPENMP_HAVE_WEXTRA_FLAG "-Wno-extra" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) append_if(OPENMP_HAVE_WPEDANTIC_FLAG "-Wno-pedantic" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) append_if(OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG "-Wno-maybe-uninitialized" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + +append_if(OPENMP_HAVE_NO_SEMANTIC_INTERPOSITION "-fno-semantic-interposition" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) +append_if(OPENMP_HAVE_FUNCTION_SECTIONS "-ffunction-section" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) +append_if(OPENMP_HAVE_DATA_SECTIONS "-fdata-sections" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) diff --git a/openmp/cmake/config-ix.cmake b/openmp/cmake/config-ix.cmake index 49e3742..a1e1b61 100644 --- a/openmp/cmake/config-ix.cmake +++ b/openmp/cmake/config-ix.cmake @@ -18,6 +18,7 @@ endif() check_cxx_compiler_flag(-Wall OPENMP_HAVE_WALL_FLAG) check_cxx_compiler_flag(-Werror OPENMP_HAVE_WERROR_FLAG) +check_cxx_compiler_flag(-fcolor-diagnostics OPENMP_HAVE_COLOR_DIAGNOSTICS) # Additional warnings that are not enabled by -Wall. check_cxx_compiler_flag(-Wcast-qual OPENMP_HAVE_WCAST_QUAL_FLAG) @@ -36,3 +37,9 @@ check_cxx_compiler_flag(-Wenum-constexpr-conversion OPENMP_HAVE_WENUM_CONSTEXPR_ check_cxx_compiler_flag(-Wextra OPENMP_HAVE_WEXTRA_FLAG) check_cxx_compiler_flag(-Wpedantic OPENMP_HAVE_WPEDANTIC_FLAG) check_cxx_compiler_flag(-Wmaybe-uninitialized OPENMP_HAVE_WMAYBE_UNINITIALIZED_FLAG) + +# Additional flags for optimizing created libraries. + +check_cxx_compiler_flag(-fno-semantic-interposition OPENMP_HAVE_NO_SEMANTIC_INTERPOSITION) +check_cxx_compiler_flag(-ffunction-section OPENMP_HAVE_FUNCTION_SECTIONS) +check_cxx_compiler_flag(-fdata-sections OPENMP_HAVE_DATA_SECTIONS) |