diff options
author | John Hodge <tpg@mutabah.net> | 2018-06-24 12:14:45 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2018-06-24 12:14:45 +0800 |
commit | ed5ab79df31720e8c9635f834ccd44bbef700266 (patch) | |
tree | b2e3f5d80b967403e7f642a6bffab17024f27029 /src/main.cpp | |
parent | 42bdc18d4ba8f9fd19109050eb83bb6615539a75 (diff) | |
download | mrust-ed5ab79df31720e8c9635f834ccd44bbef700266.tar.gz |
Main - Emit a warning when an unknown phase is included in MRUSTC_DEBUG
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/main.cpp b/src/main.cpp index 358de95e..75c078ee 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -89,14 +89,22 @@ void init_debug_list() { const char* end = strchr(debug_string, ':'); - if( end ) { - ::std::string s { debug_string, end }; - // TODO: Emit a warning when this name wasn't in the map? - g_debug_disable_map.erase( s ); + ::std::string s; + if( end ) + { + s = ::std::string { debug_string, end }; debug_string = end + 1; + g_debug_disable_map.erase( s ); } - else { - g_debug_disable_map.erase( debug_string ); + else + { + s = debug_string; + } + if( g_debug_disable_map.erase(s) == 0 ) + { + ::std::cerr << "WARN: Unknown compiler phase '" << s << "' in $MRUSTC_DEBUG" << ::std::endl; + } + if( !end ) { break; } } @@ -183,6 +191,7 @@ Rv CompilePhase(const char *name, Fcn f) { g_cur_phase = ""; g_debug_enabled = debug_enabled_update(); + // TODO: Show wall time too? ::std::cout <<"(" << ::std::fixed << ::std::setprecision(2) << static_cast<double>(end - start) / static_cast<double>(CLOCKS_PER_SEC) << " s) "; ::std::cout << name << ": DONE"; ::std::cout << ::std::endl; |