mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-09-09 05:46:00 +00:00
Minor fixes for Mac and MinGW.
Eliminate a format-string warning by using less template magic: https://stackoverflow.com/questions/12573968/how-to-use-gccs-printf-format-attribute-with-c11-variadic-templates Fix one `%Ld` in `rogueviz.cpp` that should have been `%lld`. Rename `savepng.c` into `savepng.cpp` so that we don't have to care about the system's C compiler; it builds fine using the same C++ options as HyperRogue itself. Figure out how to get `-DCAP_PNG` and `-DCAP_ROGUEVIZ` working on Mac, and document them. Assume that roughly the same things should also work on MinGW. Consistency on `STDSIZE`, even though it doesn't suffice for C++17 conformance. It *almost* suffices; the one place where Clang still complains even with `-std=c++17 -DSTDSIZE -Wno-sign-compare` is here: ./fieldpattern.cpp:757:51: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list [-Wc++11-narrowing] ex.primes.emplace_back(primeinfo{nextprime, size(fp.matrices) / S7, (bool) fp.wsquare}); ^~~~~~~~~~~~~~~~~~~~~~ So, we fix that up too, in this patch.
This commit is contained in:
@@ -14,7 +14,9 @@
|
||||
#include <stdlib.h>
|
||||
using namespace std;
|
||||
|
||||
template<class T> int size(T x) { return x.size(); }
|
||||
#ifndef STDSIZE
|
||||
template<class T> int size(const T& x) { return x.size(); }
|
||||
#endif
|
||||
|
||||
#define NUMLAN 7
|
||||
|
||||
|
Reference in New Issue
Block a user