From f320907b3d288930c80411a8e97f63eef0e8ec8b Mon Sep 17 00:00:00 2001 From: Chuck Atkins Date: Thu, 27 Apr 2017 10:12:18 -0400 Subject: XL: Fix the use of the -qhalt flag for varying OSs The valid settings to pass to the IBM XL compiler for the -qhalt flag vary widely by language and platform. Based on existing documentation, the following table shows which error levels are valid to pass to -qhalt= since -qhalt=e is not always available. OS | xlc | xlC | xlf | ---------|-------|------------------ AIX | iwes | iw s | ilwesu | BlueGene | iwes | iwes | ilwesu | OS X | iwesu | iwesu | ilwesu | Linux | w | w | ilwesu | --- Modules/Compiler/XL-C.cmake | 3 +-- Modules/Compiler/XL-CXX.cmake | 3 +-- Modules/Platform/AIX-XL-C.cmake | 3 +++ Modules/Platform/AIX-XL-CXX.cmake | 3 +++ Modules/Platform/BlueGeneP-dynamic-XL-C.cmake | 3 +++ Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake | 3 +++ Modules/Platform/BlueGeneP-static-XL-C.cmake | 3 +++ Modules/Platform/BlueGeneP-static-XL-CXX.cmake | 3 +++ Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake | 3 +++ Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake | 3 +++ Modules/Platform/BlueGeneQ-static-XL-C.cmake | 3 +++ Modules/Platform/BlueGeneQ-static-XL-CXX.cmake | 3 +++ Modules/Platform/Darwin-XL-C.cmake | 3 +++ Modules/Platform/Darwin-XL-CXX.cmake | 3 +++ 14 files changed, 38 insertions(+), 4 deletions(-) diff --git a/Modules/Compiler/XL-C.cmake b/Modules/Compiler/XL-C.cmake index f976c9912c..f14373d979 100644 --- a/Modules/Compiler/XL-C.cmake +++ b/Modules/Compiler/XL-C.cmake @@ -4,5 +4,4 @@ string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -DNDEBUG") string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -DNDEBUG") # -qthreaded = Ensures that all optimizations will be thread-safe -# -qhalt=e = Halt on error messages (rather than just severe errors) -string(APPEND CMAKE_C_FLAGS_INIT " -qthreaded -qhalt=e") +string(APPEND CMAKE_C_FLAGS_INIT " -qthreaded") diff --git a/Modules/Compiler/XL-CXX.cmake b/Modules/Compiler/XL-CXX.cmake index 545d657329..4fdc43e9fe 100644 --- a/Modules/Compiler/XL-CXX.cmake +++ b/Modules/Compiler/XL-CXX.cmake @@ -4,8 +4,7 @@ string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " -DNDEBUG") string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL_INIT " -DNDEBUG") # -qthreaded = Ensures that all optimizations will be thread-safe -# -qhalt=e = Halt on error messages (rather than just severe errors) -string(APPEND CMAKE_CXX_FLAGS_INIT " -qthreaded -qhalt=e") +string(APPEND CMAKE_CXX_FLAGS_INIT " -qthreaded") set(CMAKE_CXX_COMPILE_OBJECT " -+ -o -c ") diff --git a/Modules/Platform/AIX-XL-C.cmake b/Modules/Platform/AIX-XL-C.cmake index 5e437fafd0..cbfd58b3d7 100644 --- a/Modules/Platform/AIX-XL-C.cmake +++ b/Modules/Platform/AIX-XL-C.cmake @@ -1,2 +1,5 @@ include(Platform/AIX-XL) __aix_compiler_xl(C) + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/AIX-XL-CXX.cmake b/Modules/Platform/AIX-XL-CXX.cmake index ef38a5f230..78baef5df9 100644 --- a/Modules/Platform/AIX-XL-CXX.cmake +++ b/Modules/Platform/AIX-XL-CXX.cmake @@ -1,2 +1,5 @@ include(Platform/AIX-XL) __aix_compiler_xl(CXX) + +# -qhalt=s = Halt on severe error messages +string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s") diff --git a/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake b/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake index f13b517500..918ee70901 100644 --- a/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake +++ b/Modules/Platform/BlueGeneP-dynamic-XL-C.cmake @@ -3,3 +3,6 @@ __BlueGeneP_set_dynamic_flags(XL C) + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake b/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake index 80c05a1db5..cfefb0b33d 100644 --- a/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake +++ b/Modules/Platform/BlueGeneP-dynamic-XL-CXX.cmake @@ -3,3 +3,6 @@ __BlueGeneP_set_dynamic_flags(XL CXX) + +# -qhalt=s = Halt on severe error messages +string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s") diff --git a/Modules/Platform/BlueGeneP-static-XL-C.cmake b/Modules/Platform/BlueGeneP-static-XL-C.cmake index a990b5c588..7d4fc13e27 100644 --- a/Modules/Platform/BlueGeneP-static-XL-C.cmake +++ b/Modules/Platform/BlueGeneP-static-XL-C.cmake @@ -3,3 +3,6 @@ __BlueGeneP_set_static_flags(XL C) + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/BlueGeneP-static-XL-CXX.cmake b/Modules/Platform/BlueGeneP-static-XL-CXX.cmake index 116c0bbb80..1df276ef59 100644 --- a/Modules/Platform/BlueGeneP-static-XL-CXX.cmake +++ b/Modules/Platform/BlueGeneP-static-XL-CXX.cmake @@ -3,3 +3,6 @@ __BlueGeneP_set_static_flags(XL CXX) + +# -qhalt=s = Halt on severe error messages +string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s") diff --git a/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake b/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake index f46fa95ee8..c51dacb639 100644 --- a/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake +++ b/Modules/Platform/BlueGeneQ-dynamic-XL-C.cmake @@ -3,3 +3,6 @@ __BlueGeneQ_setup_dynamic(XL C) + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake b/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake index c463379ee2..5dbc8363c2 100644 --- a/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake +++ b/Modules/Platform/BlueGeneQ-dynamic-XL-CXX.cmake @@ -3,3 +3,6 @@ __BlueGeneQ_setup_dynamic(XL CXX) + +# -qhalt=s = Halt on severe error messages +string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s") diff --git a/Modules/Platform/BlueGeneQ-static-XL-C.cmake b/Modules/Platform/BlueGeneQ-static-XL-C.cmake index 465128fc48..67cd57d803 100644 --- a/Modules/Platform/BlueGeneQ-static-XL-C.cmake +++ b/Modules/Platform/BlueGeneQ-static-XL-C.cmake @@ -3,3 +3,6 @@ __BlueGeneQ_setup_static(XL C) + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake b/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake index abd4ebf1a3..a171e7fecc 100644 --- a/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake +++ b/Modules/Platform/BlueGeneQ-static-XL-CXX.cmake @@ -3,3 +3,6 @@ __BlueGeneQ_setup_static(XL CXX) + +# -qhalt=s = Halt on severe error messages +string(APPEND CMAKE_CXX_FLAGS_INIT " -qhalt=s") diff --git a/Modules/Platform/Darwin-XL-C.cmake b/Modules/Platform/Darwin-XL-C.cmake index 42e94a9d6b..2aeb132d15 100644 --- a/Modules/Platform/Darwin-XL-C.cmake +++ b/Modules/Platform/Darwin-XL-C.cmake @@ -3,3 +3,6 @@ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle") # Enable shared library versioning. set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-install_name") + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") diff --git a/Modules/Platform/Darwin-XL-CXX.cmake b/Modules/Platform/Darwin-XL-CXX.cmake index 65c76f8b72..f8e1906a8f 100644 --- a/Modules/Platform/Darwin-XL-CXX.cmake +++ b/Modules/Platform/Darwin-XL-CXX.cmake @@ -3,3 +3,6 @@ set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "-bundle") # Enable shared library versioning. set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-install_name") + +# -qhalt=e = Halt on error messages (rather than just severe errors) +string(APPEND CMAKE_C_FLAGS_INIT " -qhalt=e") -- cgit v1.2.1