This:
authorChris Lattner <sabre@nondot.org>
Wed, 27 Sep 2006 16:44:09 +0000 (16:44 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 27 Sep 2006 16:44:09 +0000 (16:44 +0000)
AggregateString += "\0\0";

Doesn't add two nuls to the AggregateString (for obvious reasons), which
broke the asmprinter when the first character of an asm string was not
literal text.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30625 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/AsmWriterEmitter.cpp

index 93ac6b9e14dddb1827d44b135e0b911bc5358fd5..b403c84a0482eeb0ac2b8e2fbefef54c7b5f25a9 100644 (file)
@@ -484,9 +484,10 @@ void AsmWriterEmitter::run(std::ostream &O) {
   // Build an aggregate string, and build a table of offsets into it.
   std::map<std::string, unsigned> StringOffset;
   std::string AggregateString;
-  AggregateString += "\0\0";
+  AggregateString.push_back(0);  // "\0"
+  AggregateString.push_back(0);  // "\0"
   
-  /// OpcodeInfo - Theis encodes the index of the string to use for the first
+  /// OpcodeInfo - This encodes the index of the string to use for the first
   /// chunk of the output as well as indices used for operand printing.
   std::vector<unsigned> OpcodeInfo;