aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/ast/rust-ast-dump.cc29
1 files changed, 28 insertions, 1 deletions
diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc
index c00ed65..5d59611 100644
--- a/gcc/rust/ast/rust-ast-dump.cc
+++ b/gcc/rust/ast/rust-ast-dump.cc
@@ -507,7 +507,34 @@ Dump::visit (QualifiedPathInType &path)
void
Dump::visit (LiteralExpr &expr)
{
- stream << expr.as_string ();
+ switch (expr.get_lit_type ())
+ {
+ case Literal::CHAR:
+ stream << "'" << expr.as_string () << "'";
+ return;
+
+ case Literal::STRING:
+ stream << "\"" << expr.as_string () << "\"";
+ return;
+
+ case Literal::BYTE:
+ stream << "b'" << expr.as_string () << "'";
+ return;
+
+ case Literal::BYTE_STRING:
+ stream << "b\"" << expr.as_string () << "\"";
+ return;
+
+ case Literal::INT:
+ case Literal::FLOAT:
+ case Literal::BOOL:
+ stream << expr.as_string ();
+ return;
+
+ case Literal::ERROR:
+ stream << "/*ERROR*/";
+ return;
+ }
}
void