]> granicus.if.org Git - clang/commitdiff
Implement just a bit more of inline assembly.
authorMike Stump <mrs@apple.com>
Fri, 11 Dec 2009 00:04:56 +0000 (00:04 +0000)
committerMike Stump <mrs@apple.com>
Fri, 11 Dec 2009 00:04:56 +0000 (00:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91079 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Parse/ParseStmt.cpp

index 5267ef0ecccbda3bd026090b29b74c0366799e26..a2ac64655502ca630b57ecdb2acfd5d4c65e6adb 100644 (file)
@@ -1169,7 +1169,20 @@ Parser::OwningStmtResult Parser::FuzzyParseMicrosoftAsmStatement() {
              Tok.isNot(tok::r_brace) && Tok.isNot(tok::semi) &&
              Tok.isNot(tok::eof));
   }
-  return Actions.ActOnNullStmt(Tok.getLocation());
+  llvm::SmallVector<std::string, 4> Names;
+  Token t;
+  t.setKind(tok::string_literal);
+  t.setLiteralData("\"FIXME: not done\"");
+  t.clearFlag(Token::NeedsCleaning);
+  t.setLength(17);
+  OwningExprResult AsmString(Actions.ActOnStringLiteral(&t, 1));
+  ExprVector Constraints(Actions);
+  ExprVector Exprs(Actions);
+  ExprVector Clobbers(Actions);
+  return Actions.ActOnAsmStmt(Tok.getLocation(), true, true, 0, 0, Names.data(),
+                              move_arg(Constraints), move_arg(Exprs),
+                              move(AsmString), move_arg(Clobbers),
+                              Tok.getLocation());
 }
 
 /// ParseAsmStatement - Parse a GNU extended asm statement.