<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 20, 2013, at 14:42 , Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">----- Original Message -----<br><blockquote type="cite">From: "Jordan Rose" <<a href="mailto:jordan_rose@apple.com">jordan_rose@apple.com</a>><br>To: <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>Sent: Wednesday, February 20, 2013 4:28:41 PM<br>Subject: r175681 - Revert "intmax_t is long long on Darwin, not long."<br><br>Author: jrose<br>Date: Wed Feb 20 16:28:41 2013<br>New Revision: 175681<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=175681&view=rev">http://llvm.org/viewvc/llvm-project?rev=175681&view=rev</a><br>Log:<br>Revert "intmax_t is long long on Darwin, not long."<br><br>'long' and 'long long' are different for the purposes of mangling.<br>This caused <<a href="rdar://problem/13254874">rdar://problem/13254874</a>>.<br></blockquote><br>Can you please explain this? I understand the name-mangling difference, but if long long is larger than long, then intmax_t needs to be long long, no?<br><br> -Hal<br></blockquote></div><br><div>The commit message was actually imprecise -- on iOS and 32-bit OS X, intmax_t <i>is</i> a 64-bit 'long long', but on x86_64 OS X both 'long' and 'long long' are 64 bits, so in theory it doesn't matter. Our ancient GCC 4.2 seems to pick 'long' for its __INTMAX_TYPE__, though, so I guess we originally stayed compatible with that. Now we're stuck.</div><div><br></div><div>I should really have thought the change through more than I did...it was a heavy hammer to fix a diagnostic. John set me straight on how ill-thought-out this was.</div><div><br></div><div>Jordan</div></body></html>