aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-08 00:28:38 +0000
committerChris Lattner <sabre@nondot.org>2009-04-08 00:28:38 +0000
commita118c2ee89842346ef2fd332c0fea6b931d79483 (patch)
tree313d057e8f448593bae38ae65c8f6d450a587025
parent97121ba2afb8d566ff1bf5c4e8fc5d4077940a7f (diff)
change printStringChar to emit characters as unsigned char instead of char,
avoiding sign extension for the top octet. For "negative" chars, we'd print stuff like: .asciz "\702... now we print: .asciz "\302... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68577 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 48085d59a2..8fc1b8b019 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -699,7 +699,7 @@ static inline char toOctal(int X) {
/// printStringChar - Print a char, escaped if necessary.
///
-static void printStringChar(raw_ostream &O, char C) {
+static void printStringChar(raw_ostream &O, unsigned char C) {
if (C == '"') {
O << "\\\"";
} else if (C == '\\') {
@@ -733,10 +733,8 @@ void AsmPrinter::EmitString(const std::string &String) const {
else
O << TAI->getAsciiDirective();
O << '\"';
- for (unsigned i = 0, N = String.size(); i < N; ++i) {
- unsigned char C = String[i];
- printStringChar(O, C);
- }
+ for (unsigned i = 0, N = String.size(); i < N; ++i)
+ printStringChar(O, String[i]);
if (AscizDirective)
O << '\"';
else
@@ -747,10 +745,8 @@ void AsmPrinter::EmitString(const std::string &String) const {
/// EmitFile - Emit a .file directive.
void AsmPrinter::EmitFile(unsigned Number, const std::string &Name) const {
O << "\t.file\t" << Number << " \"";
- for (unsigned i = 0, N = Name.size(); i < N; ++i) {
- unsigned char C = Name[i];
- printStringChar(O, C);
- }
+ for (unsigned i = 0, N = Name.size(); i < N; ++i)
+ printStringChar(O, Name[i]);
O << '\"';
}