[flac-dev] unsigned long long suffix

lvqcl lvqcl.mail at gmail.com
Wed Oct 9 11:58:33 PDT 2013


share/compat.h contains the following code:

/* adjust for compilers that can't understand using LLU suffix for uint64_t literals */
#ifdef _MSC_VER
#define FLAC__U64L(x) x
#else
#define FLAC__U64L(x) x##LLU
#endif

I tested MSVS 2005 and indeed it doesn't support LLU suffix, but it can compile
a code with ULL suffix. Also, http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html
mentions ‘ULL’ suffix, not ‘LLU’.

I don't know about VS2003 or earlier versions, but if FLAC supports only
Visual Studio 2005 and newer, it's possible to reduce this code to:

#define FLAC__U64L(x) x##ULL

Another version:

/* adjust for compilers that can't understand using ULL suffix for uint64_t literals */
#ifdef _MSC_VER
#define FLAC__U64L(x) x##ui64
#else
#define FLAC__U64L(x) x##ULL
#endif


More information about the flac-dev mailing list