From: Sebastian Redl Date: Thu, 22 Dec 2011 18:58:29 +0000 (+0000) Subject: Fix a parser bug that prevented it from correctly parsing explicit construct expresso... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=62f13c9e9e87b14c1d387891575ccf5dfac7b673;p=clang Fix a parser bug that prevented it from correctly parsing explicit construct expressoins of the form T{args}. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147155 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index 3619017a80..8af7204cd1 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -678,7 +678,8 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression, if (Next.is(tok::coloncolon) || (!ColonIsSacred && Next.is(tok::colon)) || Next.is(tok::less) || - Next.is(tok::l_paren)) { + Next.is(tok::l_paren) || + Next.is(tok::l_brace)) { // If TryAnnotateTypeOrScopeToken annotates the token, tail recurse. if (TryAnnotateTypeOrScopeToken()) return ExprError(); diff --git a/test/SemaCXX/cxx0x-initializer-constructor.cpp b/test/SemaCXX/cxx0x-initializer-constructor.cpp index 7eff4c41aa..c0e5010051 100644 --- a/test/SemaCXX/cxx0x-initializer-constructor.cpp +++ b/test/SemaCXX/cxx0x-initializer-constructor.cpp @@ -52,7 +52,7 @@ namespace objects { } void inline_init() { - //(void) C{1, 1.0}; FIXME: inline initialization + (void) C{1, 1.0}; (void) new C{1, 1.0}; }