Hacks

List of hacks that we need to live with until compilers, libraries, or systems are fixed.

Support for %lld in mingw’s printf()

There are a few inelegant casts to long int that should actually be long long int or int64_t in trunk/src/lol/base/array.h. The only known platform where printing long long int with %lld doesn’t work is Windows cross-compiled from Linux using mingw64.

Conflict between eof and pegtl::eof

PEGTL’s struct eof needs to be explicitly used as pegtl::eof even with using pegtl because mingw’s <io.h> header declares the global C function eof which takes priority in template argument deduction. There is the macro NO_OLDNAMES to disable it, but then compilation fails in the C++ library (and we can’t be sure we’re going to be the first to include <io.h>, sadly).

Last modified 2 years ago Last modified on Apr 27, 2015, 11:27:05 PM