From 7fcf6cb25535c3f96a3dc453ea9583b0732ca08b Mon Sep 17 00:00:00 2001
From: Roberto Raggi <qtc-committer@nokia.com>
Date: Wed, 7 Jan 2009 11:03:37 +0100
Subject: [PATCH] Pretty printing of wide string literals.

---
 shared/cplusplus/PrettyPrinter.cpp  | 11 +++++++----
 tests/manual/cplusplus/tests/t1.cpp |  2 ++
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/shared/cplusplus/PrettyPrinter.cpp b/shared/cplusplus/PrettyPrinter.cpp
index 2acb98b14e1..72338576b6b 100644
--- a/shared/cplusplus/PrettyPrinter.cpp
+++ b/shared/cplusplus/PrettyPrinter.cpp
@@ -1006,10 +1006,13 @@ bool PrettyPrinter::visit(SizeofExpressionAST *ast)
 
 bool PrettyPrinter::visit(StringLiteralAST *ast)
 {
-    out << '"' << spell(ast->token) << '"';
-    if (ast->next) {
-        out << ' ';
-        accept(ast->next);
+    for (StringLiteralAST *it = ast; it; it = it->next) {
+        if (tokenKind(ast->token) == T_STRING_LITERAL)
+            out << '"' << spell(ast->token) << '"';
+        else
+            out << "L\"" << spell(ast->token) << '"';
+        if (it->next)
+            out << ' ';
     }
     return false;
 }
diff --git a/tests/manual/cplusplus/tests/t1.cpp b/tests/manual/cplusplus/tests/t1.cpp
index 5457def79eb..ce6bdcb120d 100644
--- a/tests/manual/cplusplus/tests/t1.cpp
+++ b/tests/manual/cplusplus/tests/t1.cpp
@@ -43,6 +43,8 @@ class Class {
     default:
       return 2;
     }
+    s = L"ci\"aa\"ao" L"blah!";
+    s2 = "ciao \"ciao\" ciao";
   }
 };
 
-- 
GitLab