<div><br><div class="gmail_quote"><div dir="auto">On Sat, 12 May 2018 at 11:26 am, Bruce Hoult <<a href="mailto:bruce@hoult.org">bruce@hoult.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><span style="font-family:arial,sans-serif;font-size:small">On Sat, May 12, 2018 at 12:56 PM, Dean Michael Berris via llvm-dev </span><span style="font-family:arial,sans-serif;font-size:small"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span><span style="font-family:arial,sans-serif;font-size:small"> wrote:</span><br></div></div><div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-261063805414390497HOEnZb"><div class="m_-261063805414390497h5"><span style="color:rgb(34,34,34)">- Giving a recommendation of the requirements in terms of a bootstrapping</span><br></div></div>
path seems more manageable, no? i.e. if LLVM version N can build LLVM HEAD,<br>
then if the LTS distributions can build LLVM N then they should be able to<br>
get to LLVM HEAD.<br></blockquote><div><br></div></div></div></div><div><div class="gmail_extra"><div class="gmail_quote"><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large">​I agree with this, except that the intermediate​ compiler could be llvm or gcc (or another).</div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large"></div></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Why not just say that LLVM is required as the intermediate compiler, when bootstrapping? I can see this being an issue with targets/platforms where the required intermediate compiler might not support that backend yet, but they’d have the same problem if the host compiler can’t get to LLVM HEAD yet anyway. That makes me think that to solve that problem, developers interested in making LLVM work for that platform will have to do something like cross-compiling while working to get it working upstream anyway — and then the host compiler requirements will apply to them.</div><div dir="auto"><br></div><div dir="auto">In fact I *think* this is how we’d gotten the Windows port of clang working with MSVC as the host compiler. I could be wrong, in which case I’d be happy to be corrected.</div><div dir="auto"><br></div><div dir="auto">The question becomes whether we’d need to impose that on all other developers/users tracking HEAD (i.e. hold them back because some users might need a special set-up).</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="gmail_extra"><div class="gmail_quote"><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large"><br></div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large">I think building *one* intermediate compiler is not too onerous.</div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large"><br></div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large">clang 3.4 is probably a good choice if you only want to use C++14 features, not C++17. It demands only C++98 from the system compiler, but supports C++11 and C++14.</div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large"><br></div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large">If you want to use C++17 features then you need a Clang that itself needs the system compiler to support C++11 compiler to build it. Maybe we're there already.</div><div class="gmail_default" style="font-family:"times new roman",serif;font-size:large"></div></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">This is my same thinking. We can already find a way to get LLVM to build first then build different versions progressively to get the to language standard we’d like to use. This seems the most forward compatible approach compared to the alternative (status quo).</div></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Dean</div></div></div>