On Tue, Feb 9, 2016 at 2:53 PM, Reid Kleckner via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: rnk > Date: Tue Feb 9 13:53:30 2016 > New Revision: 260267 > > URL: http://llvm.org/viewvc/llvm-project?rev=260267&view=rev > Log: > Pass /bigobj when building lib/ASTMatchers/Dynamic/Registry.cpp > > This is the third time it has crossed the 2^16 section limit. We've > already spent time optimizing this file to reduce template > instantiations, and it's not clear that there is anymore low hanging > fruit.
Bummer. Do we have any mechanisms in place that will bark loudly at us when we accidentally introduce a large quantity of symbols from this file now? That has also happened a few times, and /bigobj warnings were the primary way we were notified (since it's difficult to tell from file size alone). ~Aaron > > Modified: > cfe/trunk/lib/ASTMatchers/Dynamic/CMakeLists.txt > > Modified: cfe/trunk/lib/ASTMatchers/Dynamic/CMakeLists.txt > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ASTMatchers/Dynamic/CMakeLists.txt?rev=260267&r1=260266&r2=260267&view=diff > ============================================================================== > --- cfe/trunk/lib/ASTMatchers/Dynamic/CMakeLists.txt (original) > +++ cfe/trunk/lib/ASTMatchers/Dynamic/CMakeLists.txt Tue Feb 9 13:53:30 2016 > @@ -1,5 +1,14 @@ > set(LLVM_LINK_COMPONENTS support) > > +# The registry source file ends up generating a lot of sections for each > +# matcher. Each matcher appears to get a vtable and several methods. Each > +# method needs .text, .pdata, .xdata, and .debug sections, adding to the > +# section multiplier. By default MSVC has a 2^16 limit on the number of > +# sections in an object file, and this needs more than that. > +if (MSVC) > + set_source_files_properties(Registry.cpp PROPERTIES COMPILE_FLAGS /bigobj) > +endif() > + > add_clang_library(clangDynamicASTMatchers > Diagnostics.cpp > VariantValue.cpp > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits