<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 10, 2013 at 2:11 PM, Pawel Wodnicki <span dir="ltr"><<a href="mailto:root@32bitmicro.com" target="_blank">root@32bitmicro.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 1/10/2013 12:11 PM, <a href="mailto:dag@cray.com">dag@cray.com</a> wrote:<br>
> Pawel Wodnicki <<a href="mailto:root@32bitmicro.com">root@32bitmicro.com</a>> writes:<br>
><br>
>>  Clang is good enough to bootstrap itself on practically<br>
>> any platform I can think of or it can be cross-bootstrapped<br>
>> if needed.<br>
><br>
> You're completely ignoring communities that compile code outside<br>
> llvm+clang.  Any compiler chosen by that group has to be able to<br>
> correctly compile hundres if not thousands of source code files.  It is<br>
> not easy to find such a compiler and that makes it an arduous process to<br>
> upgrade.  Of course upgrades are done, but they're done conservatively.<br>
><br>
>                             -David<br>
><br>
><br>
<br>
</div> As you have pointed out the reality is that for a long time<br>
there will be a lot of different C++ code to maintain and for<br>
practical reasons it makes no sens to throw away time tested tools<br>
just to use some modern C++ style.  At the same time I am not<br>
convinced that it is worth the effort to introduce some C++11<br>
features into LLVM and try to stay compatible with all these other<br>
compilers.<br></blockquote><div><br></div><div>It's not a matter of *all* compilers.  Once we establish a baseline, it only matters for those compilers.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
 So if the goal is to be able to use *any* however broken C++ compiler<br>
to build LLVM and stay compatible with the platform compiler<br>
then perhaps we should approach it differently. Ideally source<br>
translation in clang could be used to "lower" C++11 code to<br>
either C++03 or even C++98, worst case just use CPP backend.<br>
<br>
 I realize that Cfront approach does not have a good<br>
track record but this could be a C++front translating<br>
C++11 to older version of the C++ language.<br></blockquote><div><br></div><div>I wouldn't expect this to be a part of LLVM itself; if someone needs to support an old/broken compiler, they can make this work themselves.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Paweł<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><br><div>Thanks,</div><div><br></div><div>Justin Holewinski</div>
</div></div>