<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 7, 2014 at 1:37 AM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="rtl"><div dir="ltr">Hi,</div><div dir="ltr"><br>
</div><div dir="ltr">I am using the clang-format plug in for Visual Studio from <a href="http://llvm.org/builds/" target="_blank">http://llvm.org/builds/</a></div><div dir="ltr">It reformats:</div>

<div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><font face="courier new, monospace">#  define _NOEXCEPT throw ()</font></div><div><br></div><div> into</div><div><br></div><div><div><font face="courier new, monospace">#define _NOEXCEPT throw()</font></div>


</div><div><br></div><div>removing all extra whitespaces.</div><div><br></div><div>A comment is certainly helpful.</div><div><br></div><div>The compiler catching redefinition mismatch is indeed a good thing since I'm not sure what __config should do if the definitions don't match. It can't just redefine _NOEXCEPT since the client may depend upon the Visual C++ definition. </div>


<div><br></div><div>The best solution would be to replace _NOEXCEPT with _LIBCXX_NOEXCEPT so there won't be a macro name clash with Visual C++. This is a simple change although it will change many files.</div><div>libstdc++ library uses  _GLIBCXX_NOEXCEPT for the purpose</div>


<div><br></div><div> Is such a change OK?</div><div>if not I'd say your patch is the next best alternative.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Yaron</div><div><br></div></font></span></div>
</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br></div></div></div></blockquote><div>I personally wouldn't object to changing things to _LIBCXX_NOEXCEPT if an automated tool could make such a change easily and reliably because then we could also change _NOEXEPT_(x) to _LIBCXX_NOEXCEPT_OP(x) or something which I find less subtle. Quite what this reliable tool might be though isn't clear to me. I'm using Windows.</div>
<div><br></div><div>Ultimately I'm happy to let Marshall or Howard or someone make the choice if a rename is what's best here. If we don't apply clang-format to __config that often (have we ever used it on __config?) then I'm ok with just making the token change and fixing it if it ever gets broken again. If it breaks it, the worst is just a lot of warnings but no code errors.</div>
</div></div></div>