On 06/14/2012 10:20 AM, Tristan Gingold wrote:
>
> On Jun 14, 2012, at 11:12 AM, Pedro Alves wrote:
>> And git blame shows:
>>
>> 8d60d2bc (kenner 2001-12-02 14:38:07 +0000 41) /* Difference in seconds
>> between the VMS Epoch and the Unix Epoch */
>> 8d60d2bc (kenner 2001-12-02 14:38:07 +0000 42) static const long long
>> vms_epoch_offset = 3506716800ll;
>> ^^^^^^^^^^
>>
>> That's my point. We've been using long long / ll for a while now without
>> noticing (I least I hadn't noticed the libdecnumber uses before), and nobody
>> seems to have tripped on any host compiler that doesn't support it. Is it
>> justifiable nowadays to not assume it's available?
>
> OTOH, this file is compiled only for alpha-vms target, so I doubt it is
> commonly compiled.
Ah, the presence of gcc/vmsdbgout.o on my AMD64 GNU/Linux native build make me
believe otherwise. It's guarded by VMS_DEBUGGING_INFO.
But note that in libdecnumber we have:
10de71e1 (meissner 2007-03-24 17:04:47 +0000 25) typedef unsigned int UINT32;
10de71e1 (meissner 2007-03-24 17:04:47 +0000 26) typedef unsigned long long
UINT64;
10de71e1 (meissner 2007-03-24 17:04:47 +0000 27) typedef struct { UINT64 w[2];
} UINT128;
...
10de71e1 (meissner 2007-03-24 17:04:47 +0000 28) { {
0x3b645a1cac083127ull, 0x0083126e978d4fdfull } }, /* 3 extra digits */
10de71e1 (meissner 2007-03-24 17:04:47 +0000 29) { {
0x4af4f0d844d013aaULL, 0x00346dc5d6388659ULL } }, /* 10^(-4) * 2^131 */
^^^^^^^^^^
--
Pedro Alves