<div dir="ltr"><div>In our code base I think it's only occurrence of this problem, but I do expect this to be the sort of thing that breaks more than just libyuv in the wild.  That being said, I'll leave it up to you whether we should take this or not, and will address the comment below when landing if we decide to to do so.<br>

<br></div>Cheers,<br></div><div class="gmail_extra"><br clear="all"><div>--<br>Ehsan<br><<a href="http://ehsanakhgari.org/">http://ehsanakhgari.org/</a>></div>
<br><br><div class="gmail_quote">On Wed, Jul 9, 2014 at 6:58 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

How much code breaks without this?  Do we really want to do this?  My inclination is to get by without it.  In particular, libyuv has made changes to not assume that __x86_64__ implies __GNUC__ functionality.<br>
<br>
================<br>
Comment at: lib/Basic/Targets.cpp:2592<br>
@@ +2591,3 @@<br>
+  // None of these macros make sense in MSVC compat mode.<br>
+  if (Opts.MicrosoftExt) {<br>
+    if (getTriple().getArch() == llvm::Triple::x86) {<br>
----------------<br>
This condition is incorrect, Microsoft builds apps such as Office for Mac with clang with -fms-extensions.  They very likely include system headers that rely on __x86_64__ &co.  This should probably be:<br>
<br>
  if (MicrosoftExt)<br>
    ... _M_* macros<br>
  if (MSVCCompat)<br>
    return;<br>
  ...<br>
<br>
<a href="http://reviews.llvm.org/D4415" target="_blank">http://reviews.llvm.org/D4415</a><br>
<br>
<br>
</blockquote></div><br></div>