]> granicus.if.org Git - clang/commitdiff
add support for handling C++'0x unified initializer syntax
authorChris Lattner <sabre@nondot.org>
Sun, 12 Apr 2009 22:29:43 +0000 (22:29 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 12 Apr 2009 22:29:43 +0000 (22:29 +0000)
to isValidAfterIdentifierInDeclarator, as suggested by Sebastian.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68920 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Parse/ParseDecl.cpp

index da3ee1df7c5443d0c762c497fd81e2351fcf2d71..a488815e9f42b240f021a626437dfc808df9c47b 100644 (file)
@@ -475,6 +475,7 @@ void Parser::ParseSpecifierQualifierList(DeclSpec &DS) {
 ///      int x   =             17;         // init-declarator-list
 ///      int x   ,             y;          // init-declarator-list
 ///      int x   __asm__       ("foo");    // init-declarator-list
+///      int x   {             5};         // C++'0x unified initializers
 ///
 /// This is not, because 'x' does not immediately follow the declspec (though
 /// ')' happens to be valid anyway).
@@ -483,8 +484,7 @@ void Parser::ParseSpecifierQualifierList(DeclSpec &DS) {
 static bool isValidAfterIdentifierInDeclarator(const Token &T) {
   return T.is(tok::l_square) || T.is(tok::l_paren) || T.is(tok::r_paren) ||
          T.is(tok::semi) || T.is(tok::comma) || T.is(tok::equal) ||
-         T.is(tok::kw_asm);
-    
+         T.is(tok::kw_asm) || T.is(tok::l_brace);
 }
 
 /// ParseDeclarationSpecifiers