<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Feb 22, 2014 at 1:33 PM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, Feb 21, 2014 at 05:48:50PM -0800, Reid Kleckner wrote:<br>
> On Fri, Feb 21, 2014 at 5:03 PM, Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de">joerg@britannica.bec.de</a><br>
> > wrote:<br>
><br>
> > On Sat, Feb 22, 2014 at 12:37:46AM -0000, Reid Kleckner wrote:<br>
> > > Author: rnk<br>
> > > Date: Fri Feb 21 18:37:45 2014<br>
> > > New Revision: 201916<br>
> > ><br>
> > > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=201916&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=201916&view=rev</a><br>
> > > Log:<br>
> > > Revert "Replace __FUNCTION__ with __func__, the latter being standard<br>
> > C99/C++11."<br>
> > ><br>
> > > This reverts commit r201910.<br>
> > ><br>
> > > While __func__ may be standard in C++11, it was only recently added to<br>
> > > MSVC in 2013 CTP, and LLVM supports MSVC 2012.  __FUNCTION__ may not be<br>
> > > standard, but it's *very* portable.<br>
> ><br>
> > In that case it should be a local __func__=__FUNCTION__ define.<br>
> ><br>
><br>
> Why?  __FUNCTION__ is incredibly portable.  I don't know of any compiler<br>
> that doesn't support it.  Adding a new macro in a header or on the command<br>
> line seems like more hassle than it's worth.<br>
<br>
</div></div>It is not standard. It has strange properties. The only reason why it is<br>
still used is a compiler that doesn't even support a 15 year old<br>
standard. Clearly, the burden should be in the build system for that<br>
compiler and nowhere else. So please, revert this and implement a fix<br>
for the broken Microsoft compiler instead.</blockquote><div><br></div><div>I don't think this is clear at all. This feature is not in C++98, and we're not allowing C++11 features yet. Even when we do, we only intend to allow C++11 features that are supported by all of our supported compilers, and this is not such a feature. Why should this be treated as a special case?</div>
</div></div></div>