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