<div dir="ltr"><div dir="ltr"><div><br></div><div>Hi Aaron, thanks for your answer.</div><div><br></div><div>> We usually try to limit it in cases where it makes sense to do so.<br></div>e.g., for a while we would put in efforts to reduce the number of<br>template instantiations to help avoid this problem. However, I believe<br>we only do that up to a point.<div><br></div><div>The corresponding file is a unittest file "ASTImporterTest.cpp" with many gtest macros, which I suspect do quite many template instantiations.</div><div>I don't think it would be easy to reduce the size in this case, but I am open to any idea.</div><div>Is it okay to connect with the buildbot owner and ask for /bigobj for this file? Who should approve such decisions? </div><div><br></div><div>Thanks,</div><div>Gabor</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 17, 2018 at 4:18 PM Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Dec 17, 2018 at 10:12 AM Gábor Márton via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> Recently one Windows build bot failed by my commit, because the obj file being generated is too big:<br>
><br>
> C:\ps4-buildslave2\llvm-clang-x86_64-expensive-checks-win\llvm\tools\clang\unittests\AST\ASTImporterTest.cpp : fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj<br>
><br>
> Is there an LLVM policy to limit the maximum size of the generated obj files?<br>
<br>
We usually try to limit it in cases where it makes sense to do so.<br>
e.g., for a while we would put in efforts to reduce the number of<br>
template instantiations to help avoid this problem. However, I believe<br>
we only do that up to a point.<br>
<br>
> If not then I suspect the only solution is to turn on /bigobj on the build bot, right?<br>
<br>
We already required that for some files; we turn on /bigobj support<br>
for several files in Clang. We usually only do this on a file-by-file<br>
basis though, so we can be alerted when new files are causing<br>
problems.<br>
<br>
~Aaron<br>
<br>
> (Of course, I could refactor the cpp file to several smaller ones, but how do I know where to cut it?)<br>
><br>
> Thanks,<br>
> Gabor<br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>