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