From: Simon Marlow Date: Thu, 19 Jun 2008 11:33:29 +0000 (+0000) Subject: +RTS -S -RTS now sends output to stderr (also -s) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=34e8e513c4044ee2b13f0b759c0f49212dad2008 +RTS -S -RTS now sends output to stderr (also -s) Previously +RTS -Sstderr -RTS was required to send output to stderr, but this is the most common usage and I got tired of typing "stderr". The old default behaviour of sending output to .stat is now gone (I don't think we use it anywhere). Temporarily we allowed +RTS -S- -RTS to mean stderr; there were objections to this, so it is now also gone. --- diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 0618386..829e600 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -359,9 +359,9 @@ usage_text[] = { " -I Perform full GC after idle time (default: 0.3, 0 == off)", #endif "", -" -t One-line GC statistics (default file: .stat)", -" -s Summary GC statistics (with -Sstderr going to stderr)", -" -S Detailed GC statistics", +" -t[] One-line GC statistics (if omitted, uses stderr)", +" -s[] Summary GC statistics (if omitted, uses stderr)", +" -S[] Detailed GC statistics (if omitted, uses stderr)", #ifdef RTS_GTK_FRONTPANEL " -f Display front panel (requires X11 & GTK+)", #endif @@ -918,7 +918,7 @@ error = rtsTrue; { int r; r = open_stats_file(arg, *argc, argv, - *rts_argc, rts_argv, STAT_FILENAME_FMT, + *rts_argc, rts_argv, NULL, &RtsFlags.GcFlags.statsFile); if (r == -1) { error = rtsTrue; } } @@ -2343,16 +2343,17 @@ open_stats_file ( { FILE *f = NULL; - if (strequal(rts_argv[arg]+2, "stderr") || strequal(rts_argv[arg]+2, "-")) { + if (strequal(rts_argv[arg]+2, "stderr") + || (FILENAME_FMT == NULL && rts_argv[arg][2] == '\0')) { f = NULL; /* NULL means use debugBelch */ } else { - if (rts_argv[arg][2] != '\0') { /* stats file specified */ - f = fopen(rts_argv[arg]+2,"w"); - } else { - char stats_filename[STATS_FILENAME_MAXLEN]; /* default . */ - sprintf(stats_filename, FILENAME_FMT, argv[0]); - f = fopen(stats_filename,"w"); - } + if (rts_argv[arg][2] != '\0') { /* stats file specified */ + f = fopen(rts_argv[arg]+2,"w"); + } else { + char stats_filename[STATS_FILENAME_MAXLEN]; /* default . */ + sprintf(stats_filename, FILENAME_FMT, argv[0]); + f = fopen(stats_filename,"w"); + } if (f == NULL) { errorBelch("Can't open stats file %s\n", rts_argv[arg]+2); return -1;