<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 8, 2016 at 8:36 PM, Jason Gunthorpe <span dir="ltr"><<a href="mailto:jgunthorpe@obsidianresearch.com" target="_blank">jgunthorpe@obsidianresearch.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jan 08, 2016 at 07:47:38PM -0800, Jeff Hammond wrote:<br>
>     C11 support requires gcc 4.9 for full compiler features (yes, I know<br>
>     the library side is missing) and that is now nearly a two<br>
>     year old compiler.<br>
<br>
> Does GCC 4.9 support atomics? I don't have a binary handy...<br>
<br>
</span>Claims to, it is very similar to the C++11 atomics which are there.<br></blockquote><div><br></div><div>The preprocessor macro claimed to support them at least a year before they did.  The bug report was rejected because the website noted the lack of feature support.  Apparently, documenting bugs makes them no longer bugs in the GCC world :-\  I no longer take GCC seriously... </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
4.9 is a significant compiler because it is the first g++ release that<br>
really supports C++11 and all the polishing in C++14 very well.<br>
<br>
I think we will see it or a slightly newer one made widely available<br>
because of that. I already am working on C++ code bases that are<br>
incompatible with 4.8 because of that, and it is unquestionably worth<br>
it for C++.</blockquote><div> </div><div>C++ programmer love showing off how smart they are by using the latest and greatest-according-to-Herb-Sutter features at the expense of platform portability.  "Hey look, my new C++ code is so awesome that it can only be compiled with the Clang trunk!" :-)</div><div><br></div><div>On the other hand, C programmers love showing off how smart they are by writing code that runs everywhere and getting stuff done, without having to wait for 25 compiler bugs to be fixed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> I don't know that the group will go for anything past C99, but we should try to<br>
> enumerate the list of C11 features we would use if it were permitted.<br>
<br>
</span>Realistically public header files probably have to remain at a C89/C99<br>
compatible level, which puts a crimp on a lot of new features :(<br><br></blockquote><div>What features?  I'm still not clear on what C11 features you find essential.</div><div><br></div><div>We should not need atomics or threads in the public API.</div><div><br></div><div>Generic selection?  Anonymous unions?<br><br>Jeff </div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>