summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared/cplusplus/PrettyPrinter.cpp11
-rw-r--r--tests/manual/cplusplus/tests/t1.cpp2
2 files changed, 9 insertions, 4 deletions
diff --git a/shared/cplusplus/PrettyPrinter.cpp b/shared/cplusplus/PrettyPrinter.cpp
index 2acb98b14e..72338576b6 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 5457def79e..ce6bdcb120 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";
}
};