[PATCH] D15748: [X86][ms-inline asm] Add support for memory operands that include structs

Marina Yatsina via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 24 04:13:12 PST 2015


This revision was automatically updated to reflect the committed changes.
Closed by commit rL256381: [X86][ms-inline asm] Add support for memory operands that include structs (authored by myatsina).

Changed prior to commit:
  http://reviews.llvm.org/D15748?vs=43535&id=43592#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D15748

Files:
  llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp

Index: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
===================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1172,6 +1172,7 @@
   MCAsmParser &Parser = getParser();
   const AsmToken &Tok = Parser.getTok();
 
+  AsmToken::TokenKind PrevTK = AsmToken::Error;
   bool Done = false;
   while (!Done) {
     bool UpdateLocLex = true;
@@ -1215,7 +1216,8 @@
             return Error(Tok.getLoc(), "Unexpected identifier!");
         } else {
           // This is a dot operator, not an adjacent identifier.
-          if (Identifier.find('.') != StringRef::npos) {
+          if (Identifier.find('.') != StringRef::npos &&
+              PrevTK == AsmToken::RBrac) {
             return false;
           } else {
             InlineAsmIdentifierInfo &Info = SM.getIdentifierInfo();
@@ -1284,6 +1286,8 @@
 
     if (!Done && UpdateLocLex)
       End = consumeToken();
+
+    PrevTK = TK;
   }
   return false;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15748.43592.patch
Type: text/x-patch
Size: 1046 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151224/4e019387/attachment.bin>


More information about the llvm-commits mailing list