diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp index 41f88334e2b..273b17d3c2c 100644 --- a/lib/MC/MCAsmStreamer.cpp +++ b/lib/MC/MCAsmStreamer.cpp @@ -210,7 +210,7 @@ void MCAsmStreamer::EmitZerofill(MCSection *Section, MCSymbol *Symbol, void MCAsmStreamer::EmitBytes(const StringRef &Data) { assert(CurSection && "Cannot emit contents before setting section!"); for (unsigned i = 0, e = Data.size(); i != e; ++i) - OS << ".byte " << (unsigned) Data[i] << '\n'; + OS << ".byte " << (unsigned) (unsigned char) Data[i] << '\n'; } void MCAsmStreamer::EmitValue(const MCValue &Value, unsigned Size) { diff --git a/test/MC/AsmParser/directive_ascii.s b/test/MC/AsmParser/directive_ascii.s index 68328f51c8b..cc6d23b751d 100644 --- a/test/MC/AsmParser/directive_ascii.s +++ b/test/MC/AsmParser/directive_ascii.s @@ -31,9 +31,10 @@ TEST3: # CHECK: .byte 1 # CHECK: .byte 0 # CHECK: .byte 49 +# CHECK: .byte 128 # CHECK: .byte 0 TEST4: - .ascii "\1\01\07\08\001\0001\b\0" + .ascii "\1\01\07\08\001\0001\200\0" # CHECK: TEST5: # CHECK: .byte 8