blob: 51058d3a01a25f70de601aa3c7279ff5b2d0f3e9 [file] [log] [blame]
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index a64644a08e59..f2820f65d27b 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -411,10 +411,8 @@ if(MSVC)
elseif(MINGW) # FIXME: Also cygwin?
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--stack,16777216")
- # Pass -mbig-obj to mingw gas on Win64. COFF has a 2**16 section limit, and
- # on Win64, every COMDAT function creates at least 3 sections: .text, .pdata,
- # and .xdata.
- if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ # Pass -mbig-obj to mingw gas to avoid COFF 2**16 section limit.
+ if (NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
append("-Wa,-mbig-obj" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
endif()
endif()