AsmParser: ignore the .extern directive.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 12 May 2012 11:18:59 +0000 (11:18 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 12 May 2012 11:18:59 +0000 (11:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156707 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCParser/AsmParser.cpp
test/MC/AsmParser/extern.s [new file with mode: 0644]

index d6f9236077e91239cb38726ff1bfeb791ed72fb4..80e101f748bcdd05da1f35118a94293ef07f35c1 100644 (file)
@@ -1220,6 +1220,10 @@ bool AsmParser::ParseStatement() {
 
     // Symbol attribute directives
 
+    if (IDVal == ".extern") {
+      EatToEndOfStatement(); // .extern is the default, ignore it.
+      return false;
+    }
     if (IDVal == ".globl" || IDVal == ".global")
       return ParseDirectiveSymbolAttribute(MCSA_Global);
     if (IDVal == ".indirect_symbol")
diff --git a/test/MC/AsmParser/extern.s b/test/MC/AsmParser/extern.s
new file mode 100644 (file)
index 0000000..461f843
--- /dev/null
@@ -0,0 +1,4 @@
+# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
+
+# CHECK-NOT: foo
+.extern foo