On Feb 20, 2013, at 14:42 , Hal Finkel <[email protected]> wrote: > ----- Original Message ----- >> From: "Jordan Rose" <[email protected]> >> To: [email protected] >> 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
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
