summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2018-06-24 12:14:45 +0800
committerJohn Hodge <tpg@mutabah.net>2018-06-24 12:14:45 +0800
commited5ab79df31720e8c9635f834ccd44bbef700266 (patch)
treeb2e3f5d80b967403e7f642a6bffab17024f27029 /src/main.cpp
parent42bdc18d4ba8f9fd19109050eb83bb6615539a75 (diff)
downloadmrust-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.cpp21
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;