[PATCH] D18463: Sparc: silently ignore .proc assembler directive

Douglas Katzman via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 24 15:09:29 PDT 2016


dougk created this revision.
dougk added a reviewer: jyknight.
dougk added a subscriber: llvm-commits.
Herald added a subscriber: jyknight.

http://reviews.llvm.org/D18463

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

Index: test/MC/Sparc/sparc-directives.s
===================================================================
--- test/MC/Sparc/sparc-directives.s
+++ test/MC/Sparc/sparc-directives.s
@@ -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
Index: lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
===================================================================
--- lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
+++ lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
@@ -684,6 +684,12 @@
     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;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18463.51609.patch
Type: text/x-patch
Size: 1200 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160324/6e87790d/attachment.bin>


More information about the llvm-commits mailing list