Remove some overzealous checks that were rejecting
authorDale Johannesen <dalej@apple.com>
Fri, 10 Oct 2008 21:04:42 +0000 (21:04 +0000)
committerDale Johannesen <dalej@apple.com>
Fri, 10 Oct 2008 21:04:42 +0000 (21:04 +0000)
valid comments in inline assembly.
gcc.target/i386/20011009-1.c

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

lib/CodeGen/AsmPrinter/AsmPrinter.cpp

index 63ada0c81b2b5a58fd0e10a18215384f51c196f4..018544150902066b594c91ec690e531e1752fd30 100644 (file)
@@ -1246,21 +1246,17 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
         break;
       case '|':
         ++LastEmitted;  // consume '|' character.
-        if (CurVariant == -1) {
-          cerr << "Found '|' character outside of variant in inline asm "
-               << "string: '" << AsmStr << "'\n";
-          exit(1);
-        }
-        ++CurVariant;   // We're in the next variant.
+        if (CurVariant == -1)
+          O << '|';       // this is gcc's behavior for | outside a variant
+        else
+          ++CurVariant;   // We're in the next variant.
         break;
       case ')':         // $) -> same as GCC's } char.
         ++LastEmitted;  // consume ')' character.
-        if (CurVariant == -1) {
-          cerr << "Found '}' character outside of variant in inline asm "
-               << "string: '" << AsmStr << "'\n";
-          exit(1);
-        }
-        CurVariant = -1;
+        if (CurVariant == -1)
+          O << '}';     // this is gcc's behavior for } outside a variant
+        else 
+          CurVariant = -1;
         break;
       }
       if (Done) break;