gnu as support both % and @ before types, do the same.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118893 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCParser/ELFAsmParser.cpp b/lib/MC/MCParser/ELFAsmParser.cpp
index 278f146..b3d5f11 100644
--- a/lib/MC/MCParser/ELFAsmParser.cpp
+++ b/lib/MC/MCParser/ELFAsmParser.cpp
@@ -213,12 +213,6 @@
     FlagsStr = getTok().getStringContents();
     Lex();
 
-    AsmToken::TokenKind TypeStartToken;
-    if (getContext().getAsmInfo().getCommentString()[0] == '@')
-      TypeStartToken = AsmToken::Percent;
-    else
-      TypeStartToken = AsmToken::At;
-
     bool Mergeable = FlagsStr.find('M') != StringRef::npos;
     bool Group = FlagsStr.find('G') != StringRef::npos;
 
@@ -229,8 +223,8 @@
         return TokError("Group section must specify the type");
     } else {
       Lex();
-      if (getLexer().isNot(TypeStartToken))
-        return TokError("expected the type");
+      if (getLexer().isNot(AsmToken::Percent) && getLexer().isNot(AsmToken::At))
+        return TokError("expected '@' or '%' before type");
 
       Lex();
       if (getParser().ParseIdentifier(TypeName))
@@ -359,8 +353,8 @@
     return TokError("unexpected token in '.type' directive");
   Lex();
 
-  if (getLexer().isNot(AsmToken::At))
-    return TokError("expected '@' before type");
+  if (getLexer().isNot(AsmToken::Percent) && getLexer().isNot(AsmToken::At))
+    return TokError("expected '@' or '%' before type");
   Lex();
 
   StringRef Type;