With MSVC, file needs to be compiled with /BIGOBJ

MSVC, by default, limits the number of sections generated by a single
translation unit to 2^16.  In a debug build, each function or method
can require 4 sections, so it's not uncommon to hit it.

I saw the problem when building tests for LLDB (but, interestingly, not
for LLDB itself).

Differential Revision: https://reviews.llvm.org/D83991
This commit is contained in:
Adrian McCarthy 2020-07-16 15:15:51 -07:00
parent f8a29b174a
commit 14dde438d6
1 changed files with 6 additions and 0 deletions

View File

@ -2,6 +2,12 @@ set(LLVM_LINK_COMPONENTS
Support
)
# By default MSVC has a 2^16 limit on the number of sections in an object
# file, and Transforms.cpp needs more than that.
if (MSVC)
set_source_files_properties(Transforms.cpp PROPERTIES COMPILE_FLAGS /bigobj)
endif()
add_clang_library(clangARCMigrate
ARCMT.cpp
ARCMTActions.cpp