<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 1 Apr 2017 6:59 am, "Philippe Proulx via cfe-dev" <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On Sat, Apr 1, 2017 at 12:42 PM, Joerg Sonnenberger via cfe-dev<br>
<<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br>
> On Sat, Apr 01, 2017 at 10:31:54AM -0400, Philippe Proulx via cfe-dev wrote:<br>
>> Why does Clang define __GNUC__ by default?<br>
><br>
> Because it creates less problems than the alternatives. There is a lot<br>
> of code in the wild that essentially assumes a random version of gcc for<br>
> a lot of code. Given that Clang is implementing almost all the GCC<br>
> extensions of GCC 4.2.1, it claims to be that version. It means a bit<br>
> more work for newer code, but avoids breaking a lot of older code.<br>
><br>
>> What's the real solution here?<br>
><br>
> Create a bug report against glibc.<br>
<br>
</div>Is it really a glibc issue? The header uses a GNU statement expression<br>
when __GNUC__ is defined. Clang defines __GNUC__, but with -pedantic<br>
it complains that I'm using a GNU extension. In other words Clang pretends<br>
to be GCC by default, but complains when exposed to GCC extensions.<br>
<br>
I don't think glibc is doing anything wrong here.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">It is. This is also an incorrect definition for C++11, where assert(true) is required to be a constant expression.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Phil<br>
<div class="elided-text"><br>
><br>
> Joerg<br>
> ______________________________<wbr>_________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
</div></blockquote></div><br></div></div></div>