diff options
author | John Hodge <tpg@mutabah.net> | 2016-12-04 17:39:28 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-12-04 17:39:28 +0800 |
commit | 071ddd6ddbc801400db23a171c597bc713825cc6 (patch) | |
tree | fe6c7ee777a6e847bf801728f7f4e8ceb5a8fcd6 | |
parent | bfd2f5bc3b94142e2b5228e13ab8e1547269afb7 (diff) | |
download | mrust-071ddd6ddbc801400db23a171c597bc713825cc6.tar.gz |
MIR - Escape special characters in debug print
-rw-r--r-- | src/mir/mir.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mir/mir.cpp b/src/mir/mir.cpp index 5b3a705d..22a05276 100644 --- a/src/mir/mir.cpp +++ b/src/mir/mir.cpp @@ -32,7 +32,14 @@ namespace MIR { os << "]"; ), (StaticString, - os << "\"" << e << "\""; + os << "\""; + for(auto v : e) { + if( ' ' <= v && v < 0x7F && v != '"' && v != '\\' ) + os << v; + else + os << "\\u{" << FMT(::std::hex << (unsigned int)v) << "}"; + } + os << "\""; ), (Const, os << e.p; |