<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Jan 9, 2019 at 1:59 AM Kim Gräsman <<a href="mailto:kim.grasman@gmail.com" target="_blank">kim.grasman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Can you dig out more details around why it fails?</div></blockquote><div><br></div><div>Sure, here's the lit output for the first three:<br></div><div><br></div><div>```</div><div>FAIL: Clang :: CXX/modules-ts/basic/basic.link/p2/module.cpp (1149 of 13760)<br>******************** TEST 'Clang :: CXX/modules-ts/basic/basic.link/p2/module.cpp' FAILED ********************<br>Script:<br>--<br>: 'RUN: at line 1';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -std=c++1z -fmodules-ts /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cppm -emit-module-interface -o /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/CXX/modules-ts/basic/basic.link/p2/Output/module.cpp.tmp<br>: 'RUN: at line 2';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -std=c++1z -fmodules-ts -fmodule-file=/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/CXX/modules-ts/basic/basic.link/p2/Output/module.cpp.tmp /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp -verify<br>--<br>Exit Code: 1<br><br>Command Output (stderr):<br>--<br>error: 'error' diagnostics seen but not expected: <br>  File /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp Line 13: expected ';' after expression<br>  File /home/jdenny/ornl/llvm-mono-git/clang/test/CXX/modules-ts/basic/basic.link/p2/module.cpp Line 13: use of undeclared identifier 'internal_linkage_class'<br>2 errors generated.<br><br>--<br><br>********************<br>FAIL: Clang :: Modules/ExtDebugInfo.cpp (5908 of 13760)<br>******************** TEST 'Clang :: Modules/ExtDebugInfo.cpp' FAILED ********************<br>Script:<br>--<br>: 'RUN: at line 1';   rm -rf /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp<br>: 'RUN: at line 5';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -x objective-c++ -std=c++11 -debug-info-kind=standalone      -dwarf-ext-refs -fmodules                                        -fmodule-format=obj -fimplicit-module-maps -DMODULES      -triple x86_64-unknown-linux-gnu      -fmodules-cache-path=/home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp -I /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/Inputs -I /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp -emit-llvm -o /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp-mod.ll<br>: 'RUN: at line 10';   cat /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp-mod.ll |  /home/jdenny/ornl/llvm-mono-git-build/bin/FileCheck /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp<br>: 'RUN: at line 13';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -x c++ -std=c++11 -fmodule-format=obj -emit-pch -I/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/Inputs      -triple x86_64-unknown-linux-gnu      -o /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp.pch /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/Inputs/DebugCXX.h<br>: 'RUN: at line 16';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -std=c++11 -debug-info-kind=standalone      -dwarf-ext-refs -fmodule-format=obj      -triple x86_64-unknown-linux-gnu      -include-pch /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp.pch /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp -emit-llvm -o /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp-pch.ll<br>: 'RUN: at line 20';   cat /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp-pch.ll |  /home/jdenny/ornl/llvm-mono-git-build/bin/FileCheck /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp<br>: 'RUN: at line 21';   cat /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/Output/ExtDebugInfo.cpp.tmp-pch.ll |  /home/jdenny/ornl/llvm-mono-git-build/bin/FileCheck /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp --check-prefix=CHECK-PCH<br>--<br>Exit Code: 1<br><br>Command Output (stderr):<br>--<br>/home/jdenny/ornl/llvm-mono-git/clang/test/Modules/ExtDebugInfo.cpp:54:1: error: unknown type name 'InAnonymousNamespace'<br>InAnonymousNamespace anon;<br>^<br>1 error generated.<br><br>--<br><br>********************<br>FAIL: Clang :: Modules/using-directive-redecl.cpp (6305 of 13760)<br>******************** TEST 'Clang :: Modules/using-directive-redecl.cpp' FAILED ********************<br>Script:<br>--<br>: 'RUN: at line 1';   /home/jdenny/ornl/llvm-mono-git-build/bin/clang -cc1 -internal-isystem /home/jdenny/ornl/llvm-mono-git-build/lib/clang/8.0.0/include -nostdsysteminc -fmodules -fmodules-local-submodule-visibility -verify /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive-redecl.cpp<br>--<br>Exit Code: 1<br><br>Command Output (stderr):<br>--<br>error: 'error' diagnostics seen but not expected: <br>  File /home/jdenny/ornl/llvm-mono-git/clang/test/Modules/using-directive-redecl.cpp Line 35: unknown type name 'TLoopManager'; did you mean 'Detail::TDF::TLoopManager'?<br>error: 'note' diagnostics seen but not expected: <br>  File /home/jdenny/ornl/llvm-mono-git-build/tools/clang/test/Modules/M.map Line 7: 'Detail::TDF::TLoopManager' declared here<br>2 errors generated.<br><br>--<br></div><div>```<br></div><br><div>I'm happy to provide more if you like.</div><div><br></div><div>Joel<br></div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"> We have a recurring request to add a dependency on clangSerialization from IWYU because it's missing under BUILD_SHARED_LIBS. I wonder if this might be an in-tree repro of that problem.<div dir="auto"><br></div><div dir="auto">Thanks, </div><div dir="auto">- Kim </div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 9, 2019, 00:04 Chris Bieneman via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br><div><br><blockquote type="cite"><div>On Jan 8, 2019, at 2:44 PM, Joel E. Denny via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:</div><br class="gmail-m_2136433582248656548gmail-m_-5484627343451888515m_-5920740878003144361Apple-interchange-newline"><div><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Jan 8, 2019 at 5:14 PM David Greene <<a href="mailto:dag@cray.com" rel="noreferrer" target="_blank">dag@cray.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">"Joel E. Denny via cfe-dev" <<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer" target="_blank">cfe-dev@lists.llvm.org</a>> writes:<br>
<br>
> Do other Clang developers find BUILD_SHARED_LIBS=True useful? Do you<br>
> see the above failures? Should there be a bot to test that build<br>
> configuration?<br>
<br>
I don't use BUILD_SHARED_LIBS=True</blockquote><div><br></div><div>One point I'd like to understand is why more people don't use it.  Were you not aware of it, or is it just not beneficial enough to you?  I was very happy to reduce a nearly 4-minute rebuild after a minor change to ~31 sec.  Especially when I have to do that repeatedly, that time difference can determine whether I decide to switch contexts or stay focused.<br></div></div></div></div></blockquote><div><br></div><div>How much of that rebuild time is actually link time? I'd guess most. What linker are you using? ld64, lld and gold are all much faster than bfd, so the performance implications may be smaller to other people. Also, using `BUILD_SHARED_LIBS` has a significant impact on execution performance of the final binaries, which impacts test execution speed. So if you aren't struggling with link time, it can be overall better to generate faster loading binaries for the test suite.</div><div><br></div><div>There are a lot of tradeoffs on performance, but I've strongly advocated that BUILD_SHARED_LIBS should never be used when building distributions for performance reasons, which means it is only really supported as a developer workflow.</div><div><br></div><div>Additionally BUILD_SHARED_LIBS is problematic with some of LLVM's design patterns, like cl::opt's global registration, which can deter its usefulness.</div><div><br></div><div>Hope this helps explain why it is less widely used than you might have anticipated.</div><div><br></div><div>-Chris</div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> but if that's a supported option, it<br>
should be tested.<br>
<br>
This argument will, of course, lead to an explosion of builders, as the<br>
set of combinations of cmake variables is very large.  It would be<br>
useful to gather the various configurations people use and see if there<br>
is a set of common-ish combinations that is small enough to regularly<br>
test.<br>
<br>
We build with RTTI and exceptions enabled and I'll bet there are others<br>
out there that do the same.  But AFAIK there are no bots testing those<br>
options.<br></blockquote><div><br></div><div>To reduce the configuration space, we could consider combining orthogonal options under a single builder.  That could make debugging some fails a little harder, but it might be worthwhile as it would provide more coverage with less builders.<br></div><div><br></div><div>Thanks.<br></div><div><br></div><div>Joel<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
                             -David<br>
<br>
</blockquote></div></div>
_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br></div></blockquote></div><br></div>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" rel="noreferrer" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>
</blockquote></div></div></div></div></div></div></div>