]> granicus.if.org Git - clang/commitdiff
Don't fail at parsing __declspec(property(get=get_func_name)). Just skip everything...
authorFrancois Pichet <pichet2000@gmail.com>
Sat, 7 May 2011 19:04:49 +0000 (19:04 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Sat, 7 May 2011 19:04:49 +0000 (19:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131053 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Parse/ParseDecl.cpp

index bde650ba3fda9a55e046ddc2e31e29ea47fea0bf..c54a0ed70798c09f60d8f62463f9022f816c4cce 100644 (file)
@@ -253,9 +253,17 @@ void Parser::ParseMicrosoftDeclSpec(ParsedAttributes &attrs) {
     SkipUntil(tok::r_paren, true); // skip until ) or ;
     return;
   }
+
   while (Tok.getIdentifierInfo()) {
     IdentifierInfo *AttrName = Tok.getIdentifierInfo();
     SourceLocation AttrNameLoc = ConsumeToken();
+    
+    // FIXME: Remove this when we have proper __declspec(property()) support.
+    // Just skip everything inside property().
+    if (AttrName->getName() == "property") {
+      ConsumeParen();
+      SkipUntil(tok::r_paren);
+    }
     if (Tok.is(tok::l_paren)) {
       ConsumeParen();
       // FIXME: This doesn't parse __declspec(property(get=get_func_name))