summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-12-04 17:39:28 +0800
committerJohn Hodge <tpg@mutabah.net>2016-12-04 17:39:28 +0800
commit071ddd6ddbc801400db23a171c597bc713825cc6 (patch)
treefe6c7ee777a6e847bf801728f7f4e8ceb5a8fcd6
parentbfd2f5bc3b94142e2b5228e13ab8e1547269afb7 (diff)
downloadmrust-071ddd6ddbc801400db23a171c597bc713825cc6.tar.gz
MIR - Escape special characters in debug print
-rw-r--r--src/mir/mir.cpp9
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;