diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2017-12-07 13:42:27 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2017-12-07 13:42:27 -0800 |
commit | 08a8cb2a8c5e266a3dbc3b661c326b1ef9b39d5c (patch) | |
tree | 867ec49f188a3de4baf0e20bff153077fa35b440 /020run.cc | |
parent | 7aadc1a666b8cf66f0b6792130bf0039951f9ebe (diff) | |
download | mu-08a8cb2a8c5e266a3dbc3b661c326b1ef9b39d5c.tar.gz |
4147
Diffstat (limited to '020run.cc')
-rw-r--r-- | 020run.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/020run.cc b/020run.cc index d140771b..73edf01b 100644 --- a/020run.cc +++ b/020run.cc @@ -208,13 +208,14 @@ save_snapshots(); if (!Run_tests && contains_key(Recipe_ordinal, "main") && contains_key(Recipe, get(Recipe_ordinal, "main"))) { // Running Main reset(); - if (Start_tracing) { + if (Start_tracing && Trace_stream == NULL) { Trace_stream = new trace_stream; Save_trace = true; } trace(2, "run") << "=== Starting to run" << end(); assert(Num_calls_to_transform_all == 1); run_main(argc, argv); + if (Start_tracing && Trace_stream) Trace_stream->dump(); } :(code) void run_main(int argc, char* argv[]) { @@ -380,7 +381,10 @@ void run(const string& form) { vector<recipe_ordinal> tmp = load(form); transform_all(); if (tmp.empty()) return; - if (trace_contains_errors()) return; + if (trace_contains_errors()) { + if (Start_tracing && Trace_stream) Trace_stream->dump(); + return; + } // if a test defines main, it probably wants to start there regardless of // definition order if (contains_key(Recipe, get(Recipe_ordinal, "main"))) |