diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-08 00:28:38 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-08 00:28:38 +0000 |
commit | a118c2ee89842346ef2fd332c0fea6b931d79483 (patch) | |
tree | 313d057e8f448593bae38ae65c8f6d450a587025 | |
parent | 97121ba2afb8d566ff1bf5c4e8fc5d4077940a7f (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.cpp | 14 |
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 << '\"'; } |