Browse Source

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 16 năm trước cách đây
mục cha
commit
574902fef2
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  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)