X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=12121e84eefbe190c509cae27bc7617aa7ed72d0;hb=085d9de94b86e1559de064528d6480ee27de9091;hp=a646e57396c097c83e84261070a877aca675b853;hpb=323950933d3260503186b93e7a5a7bdaa4822c1b;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index a646e57..12121e8 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -1299,8 +1299,9 @@ decodeSize(const char *flag, nat offset, StgWord64 min, StgWord64 max) val = (StgWord64)m; if (m < 0 || val < min || val > max) { - errorBelch("error in RTS option %s: size outside allowed range (%" FMT_Word64 " - %" FMT_Word64 ")", - flag, min, max); + // printf doesn't like 64-bit format specs on Windows + // apparently, so fall back to unsigned long. + errorBelch("error in RTS option %s: size outside allowed range (%lu - %lu)", flag, (lnat)min, (lnat)max); stg_exit(EXIT_FAILURE); } @@ -1389,3 +1390,18 @@ setFullProgArgv(int argc, char *argv[]) full_prog_argv[argc] = NULL; } +void +freeFullProgArgv (void) +{ + int i; + + if (full_prog_argv != NULL) { + for (i = 0; i < full_prog_argc; i++) { + stgFree(full_prog_argv[i]); + } + stgFree(full_prog_argv); + } + + full_prog_argc = 0; + full_prog_argv = NULL; +}