Explorar o código

KWSys: Work-around llvm-gcc-4.2 optimizer bug

Under -O3 optimization this compiler breaks our testProcess.c source file.
We force -O0 for the file to avoid the problem.
Brad King %!s(int64=16) %!d(string=hai) anos
pai
achega
574902fef2
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      Source/kwsys/CMakeLists.txt

+ 5 - 0
Source/kwsys/CMakeLists.txt

@@ -1095,6 +1095,11 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
       KWSYS_SET_PROPERTY(TEST kwsys.testProcess-${n} PROPERTY LABELS ${KWSYS_LABELS_TEST})
     ENDFOREACH(n)
 
+    # Some Apple compilers produce bad optimizations in this source.
+    IF(APPLE AND "${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU|LLVM)$")
+      SET_SOURCE_FILES_PROPERTIES(testProcess.c PROPERTIES COMPILE_FLAGS -O0)
+    ENDIF()
+
     # Test SharedForward
     CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/testSharedForward.c.in
                    ${PROJECT_BINARY_DIR}/testSharedForward.c @ONLY IMMEDIATE)