<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 17, 2017 at 3:22 PM, Marc Espie <span dir="ltr"><<a href="mailto:espie@nerim.net" target="_blank">espie@nerim.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Wed, May 17, 2017 at 01:01:07PM -0700, Reid Kleckner wrote:<br>
><br>
>    I'd rather not add new pre-defined macros if we can avoid it. There are<br>
>    already too many. You can probably detect this situation with:<br>
>    #if defined(_MSC_EXTENSIONS) && !defined(_WCHAR_T_DEFINED)<br>
><br>
</span>Was this added recently ?<br>
<br>
There is no _MSC_EXTENSIONS in the clang I'm using...<br>
</blockquote></div><br></div><div class="gmail_extra">Looks like we only define it for Windows targets.</div><div class="gmail_extra"><br></div><div class="gmail_extra">How about __is_identifier?</div><div class="gmail_extra"><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_extra">$ cat t.cpp</div><div class="gmail_extra">#if !__is_identifier(__wchar_t)</div><div class="gmail_extra">#error "have __wchar_t"</div><div class="gmail_extra">#else</div><div class="gmail_extra">#error "no __wchar_t"</div><div class="gmail_extra">#endif</div><div class="gmail_extra"><br></div><div class="gmail_extra">$ clang --target=x86_64-linux -c t.cpp</div><div class="gmail_extra">t.cpp:4:2: error: "no __wchar_t"</div><div class="gmail_extra">#error "no __wchar_t"</div><div class="gmail_extra"> ^</div><div class="gmail_extra">1 error generated.</div><div class="gmail_extra"><br></div><div class="gmail_extra">$ clang --target=x86_64-linux -c t.cpp  -fms-extensions</div><div class="gmail_extra">t.cpp:2:2: error: "have __wchar_t"</div><div class="gmail_extra">#error "have __wchar_t"</div><div class="gmail_extra"> ^</div><div class="gmail_extra">1 error generated.</div></div></div></div>