<div dir="ltr"><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div></div></div></div></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div>Hi Gert, Emil, <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think that using the -std=c++11 check should be good,</blockquote><div><br></div>A few things to consider, neither of which is a deal breaker, I just want to make sure they're not forgotten about:<br></div><div class="gmail_quote"><ol><li>-std=c++ will cover many cases, but not all.  Many commercial compilers use a different set of options:</li><ul><li>IBM XL: some versions use -std=c++11, others use -qlanglvl=extended0x</li><li>PGI: --c++11</li><li>Clang: older vertsions use -std=c++0x</li><li>Intel: Some versions use -std=c++, others use -std=c++11</li></ul><li>This only checks support for language suport, not std library support.  This can be problematic where your compiler doesn't have it's own standard library (i.e. Intel and PGI).  This puts you in a wierd spot where things like range-for loops work because they're a language feature but std::unique_ptr is not available because it's an std lib feature.</li></ol><p>Both of these are managable, #1 by looping through possible flags to test for and #2 by performing a test compile of C++ code using required library features and the compiler flags accepted by #1.  I would even venture to say they could be accounted for as needed, rather than dealt with apriori. The use cases should not be forgotten though.  Neither of these are common on a typical end-user linux desktop but they are the norm on HPC / SuperComputing systems, where Mesa+llvmpipe or Mesa+swr are heavily relied on for rendering in cpu-only compute clusters.</p><p>- Chuck<br></p></div><br></div></div>