<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><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 class="m_1849839354283648994m_2729177789652105592gmail-HOEnZb"><div class="m_1849839354283648994m_2729177789652105592gmail-h5"></div></div>Perhaps we need to make sure we pick --std=c++11.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
But this also implies that *all* Mesa needs to build reliably with 
--std=c++11.</blockquote><div><br></div><div>Yes, that is correct.<br></div><div><br></div></div>The issue is one of C++11 ABI mismatch.  If a public interface to a library is C++ but contains no C++ std library data structures (rare) then it doesn't matter but as soon as you put std::string in the API interface, which virtually every C++ API does for one reason or another, then the C++11 flag will need to propagate.  It doesn't matter for C++ code consuming the LLVM C library interface though.<br><br></div><div class="gmail_extra">While it may be technically possible to build different objects in a library with different c++ standards so long as they don't have any C++ API interaction with each other, the practicalities of this are quite dangerous I believe and just asking for some nightmare debugging scenarios.<br><br></div><div class="gmail_extra">- Chuck<br></div></div>