r175681 - Revert "intmax_t is long long on Darwin, not long."

Jordan Rose jordan_rose at apple.com
Wed Feb 20 14:47:41 PST 2013


On Feb 20, 2013, at 14:42 , Hal Finkel <hfinkel at anl.gov> wrote:

> ----- Original Message -----
>> From: "Jordan Rose" <jordan_rose at apple.com>
>> To: cfe-commits at cs.uiuc.edu
>> Sent: Wednesday, February 20, 2013 4:28:41 PM
>> Subject: r175681 - Revert "intmax_t is long long on Darwin, not long."
>> 
>> Author: jrose
>> Date: Wed Feb 20 16:28:41 2013
>> New Revision: 175681
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=175681&view=rev
>> Log:
>> Revert "intmax_t is long long on Darwin, not long."
>> 
>> 'long' and 'long long' are different for the purposes of mangling.
>> This caused <rdar://problem/13254874>.
> 
> 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?
> 
> -Hal

The commit message was actually imprecise -- on iOS and 32-bit OS X, intmax_t is 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.

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.

Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130220/4d649bc5/attachment.html>


More information about the cfe-commits mailing list