Switch the module map printer over to
raw_ostream::write_escaped. Thanks, Benjamin!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145491 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp
index 984c7985..72d2bee 100644
--- a/lib/Lex/ModuleMap.cpp
+++ b/lib/Lex/ModuleMap.cpp
@@ -72,31 +72,6 @@
OS << std::string(Spaces, ' ');
}
-static void printEscapedString(llvm::raw_ostream &OS, StringRef String) {
- for (StringRef::iterator I = String.begin(), E = String.end(); I != E; ++I) {
- unsigned char Char = *I;
-
- switch (Char) {
- default:
- if (isprint(Char))
- OS << (char)Char;
- else // Output anything hard as an octal escape.
- OS << '\\'
- << (char)('0'+ ((Char >> 6) & 7))
- << (char)('0'+ ((Char >> 3) & 7))
- << (char)('0'+ ((Char >> 0) & 7));
- break;
- // Handle some common non-printable cases to make dumps prettier.
- case '\\': OS << "\\\\"; break;
- case '"': OS << "\\\""; break;
- case '\n': OS << "\\n"; break;
- case '\t': OS << "\\t"; break;
- case '\a': OS << "\\a"; break;
- case '\b': OS << "\\b"; break;
- }
- }
-}
-
void ModuleMap::Module::print(llvm::raw_ostream &OS, unsigned Indent) const {
indent(OS, Indent);
if (IsFramework)
@@ -108,14 +83,14 @@
if (UmbrellaHeader) {
indent(OS, Indent + 2);
OS << "umbrella \"";
- printEscapedString(OS, UmbrellaHeader->getName());
+ OS.write_escaped(UmbrellaHeader->getName());
OS << "\"\n";
}
for (unsigned I = 0, N = Headers.size(); I != N; ++I) {
indent(OS, Indent + 2);
OS << "header \"";
- printEscapedString(OS, Headers[I]->getName());
+ OS.write_escaped(Headers[I]->getName());
OS << "\"\n";
}