Changeset 35553


Ignore:
Timestamp:
2021-10-12T11:17:26+13:00 (3 years ago)
Author:
davidb
Message:

Another change associated with compiling up Greenstone/MG on Window 64-bit. Here the #ifdef test that allowed for the use of 64-long types had been written to only trigger when using gcc, implying a Unix mindset, and that 64-bit Windows hadn't been considered

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/common-src/indexers/mg/lib/longlong.h

    r25147 r35553  
    5959#define LL_FS "d"
    6060
    61 #elif defined __GNUC__ && ! defined DISABLE_LONG_LONG
    6261
    63 /* We're using GCC, so it's okay to use "long long" (64-bit) types */
     62#elif ! defined DISABLE_LONG_LONG
     63
    6464#define USE_LONG_LONG
    6565
    66 typedef unsigned long long int mg_ullong;
    67 typedef long long int mg_llong;
     66#ifndef mg_ullong
     67#define mg_ullong uint64_t
     68#endif
     69
     70#ifndef mg_llong
     71#define mg_llong int64_t
     72#endif
    6873
    6974#define ULL_FS "llu"
    7075#define LL_FS "lld"
    7176
     77
    7278#else
    7379
    74 /* Not using GCC, so fall back on plain "long" (32-bit) types */
     80#warning MG LONG_LONG disable.  Using 32-bit versions for mg_ulong and mg_llong
     81#warning If the MG code makes use of this type when reading or writing out index/binary data then it is not guaranteed that these files can be transferred to another computer where MG has been installed
     82
     83/* Fall back on plain "long" (32-bit) types */
    7584typedef uint32_t mg_ullong;
    7685typedef int32_t mg_llong;
     
    7988#define LL_FS "d"
    8089
    81 #endif /* __GNUC__ */
     90#endif
    8291
    8392#endif
Note: See TracChangeset for help on using the changeset viewer.