Sparc: silently ignore .proc assembler directive
authorDouglas Katzman <dougk@google.com>
Mon, 28 Mar 2016 14:00:11 +0000 (14:00 +0000)
committerDouglas Katzman <dougk@google.com>
Mon, 28 Mar 2016 14:00:11 +0000 (14:00 +0000)
Differential Revision: http://reviews.llvm.org/D18463

llvm-svn: 264579

llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
llvm/test/MC/Sparc/sparc-directives.s

index 37410c9..59a7394 100644 (file)
@@ -684,6 +684,12 @@ ParseDirective(AsmToken DirectiveID)
     Parser.eatToEndOfStatement();
     return false;
   }
+  if (IDVal == ".proc") {
+    // For compatibility, ignore this directive.
+    // (It's supposed to be an "optimization" in the Sun assembler)
+    Parser.eatToEndOfStatement();
+    return false;
+  }
 
   // Let the MC layer to handle other directives.
   return true;
index 9185e4b..d804c1a 100644 (file)
@@ -1,6 +1,10 @@
 ! RUN: llvm-mc %s -arch=sparc   -show-encoding | FileCheck %s --check-prefix=SPARC32
 ! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s --check-prefix=SPARC64
 
+        ! '.proc' is documented to do nothing in the binutils assembler.
+        ! so it should do nothing for clang either, i.e. not be an error.
+        .proc 1
+
         ! SPARC32: .byte 24
         ! SPARC64: .byte 24
         .byte 24