<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Peter,<div class=""><br class=""></div><div class="">Thanks for the heads up.  I tend to agree with your intuition/conclusion (i.e., it seems like a bug in 3.8.1 and not worth reverting for).  But, FYI, I'll be OOO for a couple of weeks.  If for some reason your conclusion changes, please don't wait for my response before reverting.  I already know it won't revert cleanly because I committed r337820 (<a href="https://reviews.llvm.org/D49163" class="">https://reviews.llvm.org/D49163</a>) on top, but it should be pretty easy to resolve the conflict (you should just have to fine-tune the static_asserts).</div><div class=""><br class=""></div><div class="">Good luck,</div><div class="">Duncan<br class=""><div><blockquote type="cite" class=""></blockquote></div><div><br class=""><blockquote type="cite" class=""><div class="">On Jul. 25, 2018, at 10:32, Peter Smith via Phabricator <<a href="mailto:reviews@reviews.llvm.org" class="">reviews@reviews.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">peter.smith added a comment.<br class=""><br class="">This patch is causing the <a href="http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld" class="">http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld</a> to fail. Unfortunately (for me) the failures seems to be restricted to older versions of clang and are not reproducible on Arm or X86. The buildbot itself is using the default /usr/bin/clang for Ubuntu 16.04 LTS (clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final). The failures go away if I use the 3.9.1 release (No failures on 4.0.1, 6.0.0 or built from master). At this stage I think that this could be a code-gen bug in the AArch64 backend of clang 3.8.1 so I don't think it is worth reverting, but I'm mentioning it here just in case there is a subtle problem that is only being exposed by that version.<br class=""><br class="">The failures on the bot are all a llvm::unreachable in checkDeducedTemplateArguments() clang/lib/Sema/SemaTemplateDeduction.cpp:367. The only way that I can see that the unreachable gets hit is if there is some kind of corruption of the ArgKind.<br class=""><br class="">A stripped down bit of code that will cause a clang built with 3.8.1 on AArch64 to fail is:<br class=""><br class="">  template<typename T, typename U><br class="">  class test_attach30 { };<br class=""><br class="">  template<typename T><br class="">  class test_attach30<T, int> { };<br class=""><br class="">  $ clang++ -fsyntax-only test.cpp<br class="">  Invalid TemplateArgument Kind!<br class="">  UNREACHABLE executed at<br class="">  clang/lib/Sema/SemaTemplateDeduction.cpp:367!<br class=""><br class=""><br class=""><a href="https://reviews.llvm.org/D48518" class="">https://reviews.llvm.org/D48518</a><br class=""><br class=""><br class=""><br class=""></div></div></blockquote></div><br class=""></div></body></html>